Einzelnen Beitrag anzeigen

Benutzerbild von Michael Habbe
Michael Habbe

Registriert seit: 10. Aug 2005
264 Beiträge
 
Turbo Delphi für Win32
 
#18

Re: zahl in Uhrzeit darstellen

  Alt 11. Jul 2006, 23:41
Nochmal die Unit und die wichtigsten Hinweise dahinter.

Um dieses Beispiel nachzubilden, brauchst Du ein leeres Formular (neues Projekt), wo Du einen Button und ein Label rauftust. Anschließend einen Doppelklick auf den Button.

[edit]
1. nochmals vereinfacht
2. Delphi-Referenz durchsuchenInt64: Datentyp zum Speichern von ganzen Zahlen
[/edit]

Delphi-Quellcode:
unit Unit1; // war Delphi
                                                //
interface // überall, wo ein leerer
                                                // Kommentar hintersteht,
uses // soll stellvertretend
  Windows, Messages, SysUtils, Variants, // darstellen, dass diese
  Classes, Graphics, Controls, Forms, Dialogs, // Zeilen von Delphi
  StdCtrls; // generiert wurden
                                                //
type //
  TForm1 = class(TForm) //
    Label1: TLabel; //
    Button1: TButton; //
    procedure Button1Click(Sender: TObject); // nach Doppelklick auf den Button
  private //
    { Private-Deklarationen }                   //
  public //
    { Public-Deklarationen }                    //
  end; //
                                                //
var //
  Form1: TForm1; //
                                                //
implementation //
                                                //
{$R *.dfm}                                      //

// die folgende Funktion muss kopiert und in Delphi eingefügt werden
// und zwar an genau dieser Stelle, dadurch wird sichergestellt,
// dass alle nachfolgenden "ButtonClicks" und andere Funktionen/Prozeduren
// diese Benutzerfunktion "sehen" können
function SecToStr (sec: Int64): string; // Name der Funktion mit einem
                                                // Übergabeparameter vom Typ
var // Integer, Rückgabe nach
                                                // Verarbeitung des Parameters
  DT : TDateTime; // lokale Variable // ist ein String, der die
                                                // Sekunden umgewandelt hat
begin
  DT := sec / (60 * 60 * 24); // Sekunden umwandeln in Tage

  // die folgende Zeile kodiert die Tage aus dem "Double" = TDateTime
  // in einen lesbaren String, der die Angabe Tage enthält
  Result := IntToStr(Trunc(DT)) + ' Tage'; // Trunc schneidet den
                                                // Nachkommaanteil einer
                                                // Dezimalzahl ab
                                                // IntToStr wandelt Zahl
                                                // in String um
end;

procedure TForm1.Button1Click(Sender: TObject); //
begin //
  // in dieser Zeile wird die selbstgeschriebene Funktion aufgerufen "SecToStr"
  // und ihr ein Wert mitgegeben (25000 Sekunden)
  // die Funktion wird ausgeführt und der Rückgabewert (der ein String ist)
  // im Label ausgegeben
  Label1.Caption := SecToStr(25000);
end; //

end. // Finale
HTH

mfg
Michael
  Mit Zitat antworten Zitat