"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Zeitausgabe

Friedel 30.08.2007 - 02:38 4287 28 Thread rating
Posts

Marcellus

OC Addicted
Avatar
Registered: Mar 2005
Location: ~
Posts: 1755
mit system(char*) machst übergibst du eine übergabe an das betriebssystem, sprich der string wird quasi in cmd.exe reinkopiert und ausgeführt.

Wenn du jetzt beispielsweise irgendeine usereingabe hast, die dan später mit system verarbeitet wird kann dir der user irgendwas reinschieben und damit befehle an dein system weitergeben, obwohl du das uu gar nicht haben willst. Der system aufruf ist extrem unsicher und deswegen verpöhnt.

Mal abgesehen davon ist system nicht betriebssystem unabhängig, der befehl "pause" gibts unter Linux(bei mir) nicht, dh das Programm würd abstürzen wenn ich das so machen würde.

Wenn du ohne systemaufrufe nicht zurande kommst hol dir pearl oder bash

Burschi1620

24/7 Santa Claus
Avatar
Registered: Apr 2004
Location: Drüber da Donau
Posts: 6792
Zitat von Marcellus
mit system(char*) machst übergibst du eine übergabe an das betriebssystem, sprich der string wird quasi in cmd.exe reinkopiert und ausgeführt.

Wenn du jetzt beispielsweise irgendeine usereingabe hast, die dan später mit system verarbeitet wird kann dir der user irgendwas reinschieben und damit befehle an dein system weitergeben, obwohl du das uu gar nicht haben willst. Der system aufruf ist extrem unsicher und deswegen verpöhnt.

Mal abgesehen davon ist system nicht betriebssystem unabhängig, der befehl "pause" gibts unter Linux(bei mir) nicht, dh das Programm würd abstürzen wenn ich das so machen würde.

Wenn du ohne systemaufrufe nicht zurande kommst hol dir pearl oder bash

Dankesehr.
Ich dachte es gäbe irgendwelche "probleme" mit dem parameter pause. dass es sicherheitstechnisch nicht so extrem klug ist (vor allem auf linux) ist natürlich klar - voraussetzung aber dass man den code vorm kompilieren hat.
Wie gesagt, danke - ich werde das natürlich ab nun berücksichtigen und diesen tipp nicht mehr geben :)

gue

Addicted
Avatar
Registered: Feb 2003
Location: Linz
Posts: 400
Kanns noch jemand in Brain**** oder Ook! schreiben?

Mir gefällt übrigens sensei's Lösung am besten ;)

.dcp

notamodbuthot
Avatar
Registered: Jul 2002
Location: new
Posts: 8881
c#:
Code:
using System;
...
string time = System.DateTime.Now.AddHours(17.5).ToString("dd.MM.yyyy - hh:mm:ss");

prayerslayer

Oar. Mh.
Avatar
Registered: Sep 2004
Location: vorm Sucher
Posts: 4073
die lösung vom colo ist der hammer, so gehört es gemacht! einzeiler ftw! :D

Marcellus

OC Addicted
Avatar
Registered: Mar 2005
Location: ~
Posts: 1755
prayerslayer du bekommst eine ordendliche shell normalerweise nicht ohne einen haufen ballast auf windows zum laufen.

@Friedel was wirds denn jetzt?

mr.nice.

differential image maker
Avatar
Registered: Jun 2004
Location: Wien
Posts: 6454
Hab was kleines in AutoIt3 für Windows geschrieben:
Code:
$stunden = IniRead("zeit.ini", "timetoadd", "stunden", "NotFound")
$minuten = IniRead("zeit.ini", "timetoadd", "minuten", "NotFound")
$h = @HOUR+$stunden
$m = @MIN+$minuten
$s = @SEC 
If $h > 24 Then
	$h = $h-24
If $m >= 60 Then
	$h = $h+1
	$m = $m-60
EndIf
EndIf
MsgBox(0, "Zeit", $h & ":" & $m & ":" & $s)
Exit

In der zeit.ini kann man einstellen wieviele Stunden und Minuten zur lokalen Systemzeit addiert werden sollen, diese muss im gleichen Verzeichnis sein wie die zeit.exe, per default sind 17 Stunden und 30 Minuten eingestellt, wie gewünscht.

Einfach die angefügte txt in zip umbenennen. :cool:
zeit_112333.txt (downloaded 95x)

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25422
Zitat von Burschi1620
keine sorge, er meint mich :)

kannst du mir vielleicht nun endlich mal erklären warum system("pause"); so verrufen ist?
Zitat von Aufhauser
des is jo die nechste deppate frog!
verstehst du nicht, dass dein einwand sowohl offtopic als auch unnötig war? system("pause") ist hier überhaupt nicht relevant. auch deine frage zum time-struct ist sinnlos. 0,3 min selber nachschauen und es hätte sich erledigt.

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12070
Ruby:
Code:
puts Time.now + 17.5*60**2

Burschi1620

24/7 Santa Claus
Avatar
Registered: Apr 2004
Location: Drüber da Donau
Posts: 6792
Zitat von mat
verstehst du nicht, dass dein einwand sowohl offtopic als auch unnötig war? system("pause") ist hier überhaupt nicht relevant. auch deine frage zum time-struct ist sinnlos. 0,3 min selber nachschauen und es hätte sich erledigt.
Hätte man das programm - wie es der causal windows user macht - über "anklicken" geöffnet hätte es sich wieder geschlossen. Mal abgesehn davon das es ein schlechter vorschlag war, frag ich mich warum er denn offtopic und unnötig war? (ich rede von system("Pause");)

Ja mit dem struct hab ich den post etwas überstürzt, das is korrekt. (Hab ihn mir ja im endeffekt selbst beantwortet)

Friedel

Dr. Umbringer
Avatar
Registered: Apr 2002
Location: Ruhrpott
Posts: 1452
Zitat von Marcellus
@Friedel was wirds denn jetzt?
Ich hatte erstmal die erste Lösung genommen, die anderen hab' ich jetzt erst gesehen...

Werd' sie mir aber auch mal anschauen!
Danke für so viele unterschiedliche Vorgehensweisen!!!
:eek:

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25422
Zitat von Burschi1620
Hätte man das programm - wie es der causal windows user macht - über "anklicken" geöffnet hätte es sich wieder geschlossen. Mal abgesehn davon das es ein schlechter vorschlag war, frag ich mich warum er denn offtopic und unnötig war? (ich rede von system("Pause");)
ja, und vergiss nicht dazu zu schreiben, dass man das programm noch kompilieren muss und welcher button dafür zuständig ist. weil jeder kompiliert mit deiner ide und jeder schreibt code für windows :bash:

btw, schluss jetzt damit.

Burschi1620

24/7 Santa Claus
Avatar
Registered: Apr 2004
Location: Drüber da Donau
Posts: 6792
Zitat von mat
ja, und vergiss nicht dazu zu schreiben, dass man das programm noch kompilieren muss und welcher button dafür zuständig ist. weil jeder kompiliert mit deiner ide und jeder schreibt code für windows :bash:

btw, schluss jetzt damit.
*g*
Du treibst es gerade ins lächerliche. Friedel wollte ein Programm für WinXP und auch zwar im Stile von (Quote Friedel) "Also ->klick=Zeitausgabe."
Marcellus' Programm hätte nicht einwandfrei funktioniert. Ich hab etwas hinzugefügt, und nur weil es "ein schlechter vorschlag" war flamest du jetzt herum.

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25422
danke für deinen wertvollen beitrag burschi, wenn ich dich weiterhin beim rumspammen erwische, dann kannst du dir ein anderes forum suchen.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz