AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi wie initialisiert man am besten Variablen-Typen?
Thema durchsuchen
Ansicht
Themen-Optionen

wie initialisiert man am besten Variablen-Typen?

Ein Thema von juergen · begonnen am 10. Sep 2005 · letzter Beitrag vom 19. Sep 2005
 
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: wie initialisiert man am besten Variablen-Typen?

  Alt 10. Sep 2005, 17:56
@ Sniper_W
nun, ich als Anfänger habe jetzt lange mit mir gerungen, ob ich eine der Proceduren hier posten sollte. (schäm..)
Aber vielleicht kann ich von der zu erwartenden konstruktiven Kritik und Schelte ja auch wieder einiges lernen, da ich mir bis jetzt alles (sehr mühevoll) erarbeiten musste. (mit sehr großer Hilfe dieses Forums übrigens )

Ein weiteres "Problem" ist eben auch die verwendeten Variablen in dieser einen Procedur zu ermitteln
Aber ich habe mir den Code genau angeschaut, es können tatsächlich ALLE Variablen bei jeder Procedur neu initialisert werden. Das macht dann alles einfacher.

Delphi-Quellcode:
procedure TSpezieller_Rechner.AdditionClick(Sender: TObject);

Begin
a := 0 ;
b := 0 ;
c := 0 ;
If Flset = false then begin
   try
a := strtofloat(InputA.text);
b := strtofloat(InputB.text);
c := a + b;
OutputC.text := formatfloat('#,##0.######',c);
Zwischenspeicher.text := floattostr(c);
   except
Windows.Beep(2000,250) ;
ShowMessage ('Bitte kontrollieren: Eingabe ist falsch!" ');
InputA.SetFocus
   end;
   end

else begin
  lsTime_a := Trim(InputA.Text);
  lcDelim_a := ':';
  liPos_a := Pos(lcDelim_a, lsTime_a);
  if (liPos_a = 0) then begin
  lcDelim_a := '.';
  liPos_a := Pos(lcDelim_a, lsTime_a);
  end;
  if (liPos_a = 0) then begin
    lcDelim_a := ',';
    liPos_a := Pos(lcDelim_a, lsTime_a);
  end;
  if (liPos_a = 0) then begin
    lsHour_a := lsTime_a;
    lsMinute_a := '';
  end
  else begin
    lsHour_a := Copy(lsTime_a, 1, liPos_a - 1);
    lsMinute_a := Copy(lsTime_a, liPos_a + 1, MaxInt);
  end;
  try // except
    if (lsHour_a = '') then begin
      liHour_a := 0;
    end
    else begin
      liHour_a := StrToInt(lsHour_a);
    end;
    if (lsMinute_a = '') then begin
      liMinute_a := 0;
    end
    else begin
      liMinute_a := StrToInt(lsMinute_a);
    end;

  except
    on EConvertError do begin
      ShowMessage('Eingabe falsch')
    end;
  end; // except

  lsTime_b := Trim(InputB.Text);
  lcDelim_b := ':';
  liPos_b := Pos(lcDelim_b, lsTime_b);
  if (liPos_b = 0) then begin
    lcDelim_b := '.';
    liPos_b := Pos(lcDelim_b, lsTime_b);
  end;
  if (liPos_b = 0) then begin
    lcDelim_b := ',';
    liPos_b := Pos(lcDelim_b, lsTime_b);
  end;
  if (liPos_b = 0) then begin
    lsHour_b := lsTime_b;
    lsMinute_b := '';
  end
  else begin
    lsHour_b := Copy(lsTime_b, 1, liPos_b - 1);
    lsMinute_b := Copy(lsTime_b, liPos_b + 1, MaxInt);
  end;
  try // except
    if (lsHour_b = '') then begin
      liHour_b := 0;
    end
    else begin
      liHour_b := StrToInt(lsHour_b);
    end;
    if (lsMinute_b = '') then begin
      liMinute_b := 0;
    end
    else begin
      liMinute_b := StrToInt(lsMinute_b);
    end;
  except
    on EConvertError do begin
      ShowMessage('Eingabe falsch')
    end;
  end; // except


If (liMinute_a + liMinute_b >59) then begin
Min_ := 1; //diesen Wert muss später in Variable "o" zu den Stunden dazu gezählt werden
end;

o := (liHour_a) + (liHour_b) + Min_; // Stundensumme
p := ((liMinute_a) + (liMinute_b)); // Minutensumme

If (p >=60) then begin // wenn die Minutensumme >=60 ist, so wird von der Variable "s" 60 Minuten abgezogen
   s := -60 + (p);
end
else begin
   s := (p);
end;

    try //except
OutputC.text := floattostr(o)+ ':' + formatfloat('00.##',s); //Anzeigen des Ergebnisses in Normalminuten


@ BlackJack
zu 1.) -> ich kanns net besser...
zu 2.) -> das hört sich doch interessant an! Wie kann man denn eine "Unterprocedur" erstellen und in einer Procedur dann verwenden? (ich meine, dass wäre doch genau das was ich will)
zu 3.) ist damit einfach zu unübersichtlich...
zu 4.) verstehe ich net ganz. Wenn keine weiteren Posts kommen die mir hier schneller weiter helfen, würde ich mich da mal "einarbeiten"


Gruß Jürgen
Jürgen
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz