Archiv verlassen und diese Seite im Standarddesign anzeigen : 01:01h bei GetTime
freak182
04.07.2002, 14:09
ich dachte mir ich mach einmal ein neues thema auf damit das board hier nicht ganz einschläft;)
ich hab eine frage:
wie kann ich bei GetDate/GetTime eine null in die anzeige einfügen?
wenn ich mir mit zb GetTime die zeit hole und sie anzeige auf dem moni, habe ich, wenn es zb 09:07h ist, 9: 7h. wie kann ich erreichen das die zeit "richtig" dargestellt wird? also:09:07h???
und wie geht das bei GetDate? genau so?
zusatzfrage:
LABEL marke1;
BEGIN
...
GOTO marke1;
...
marke1:
...
END.
warum sagt er: label not in curret block!???
mfg,
timoK.
Felix Kaiser
04.07.2002, 14:27
Ich glaube dafür gibts in der Hilfe auch nen prima Beispiel, Borland hat dort eine Funktion für deklariert:
function LeadingZero(Value,Len: Byte): string;
var
s: string;
begin
Str(Value,s);
while Length(s) < Len do s:= '0'+s;
LeadingZero:= s;
end;
Kannst dann einen Zeitstring HH:MM erzeugen mit LeadingZero(Hours,2)+':'+LeadingZero(Minutes,2).
freak182
04.07.2002, 14:42
danke. hab zwar in der hilfe geguckt aber nix gefunden. kann auch daran liegen das es etwas schwierig ist nach etwas zu suchen wenn man nicht genau weiß wonach man sucht;)
und was sagst du oder ihr zu dem problem mit dem label?
muss die marke vor dem aufruf zu der marke stehen oder ist das egal? woran liegt's? das ganze befindet sich 100%ig im selben block!!!
mfg,
timoK.
Felix Kaiser
04.07.2002, 23:13
Bei deiner Labelsache musste selber nochmal gucken, denn SO funktioniert der Source, vielleicht haste die Label Deklaration zu weit oben im Quelltext. Direkt überm BEGIN gibts definitiv keine Probleme.
freak182
05.07.2002, 07:43
ich habe die deklarationen bisher immer ganz oben in den kopf geschrieben. genau wie die variablen. also ist es auch so daß die variablen die ich ganz oben definiere sog. "globale" variablen sind und die ich unter einem BEGIN definiere sog. "lokale" variablen sind die sich nur auf einen block beziehen?
edit:
das mit der LeadingZero FUNCTION klapt wunderbar. thx :)
...mit dem label auch!
Diogenes
05.07.2002, 16:54
Ich fürchte, dem ist so :(
Kurz gesagt. Das läuft etwa so:
program Global;
var
GlobalVar: Integer;
label GlobalLabel;
procedure Local;
var
LocalVar: Real;
label LocalLabel;
begin
GOTO LocalLabel;
LocalLabel:
end;
begin
GOTO GlobalLabel;
Local;
GlobalLabel:
end.
Beachte dabei, daß die lokalen Variablen ihren Platz auf dem Stack einnehmen. Viele Lokale zu definieren und diese Funktion rekursiv aufzurufen ist ein guter Weg zum Stacküberlauf. Nicht daß das unpraktisch wäre, man muß es nur mit Vorsicht genießen; eine Abschätzung der Schachtelungstiefe hilft!
Alle Klarheiten beseitigt?
freak182
08.07.2002, 07:44
Alle Klarheiten beseitigt?
nein es sind sogar noch mehr klarheiten als zuvor vorhanden!!!;)
danke für die antwort...
mfg,
timoK.
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.