Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Probleme mit Umrechnung und korrekter Ausgabe (https://www.delphipraxis.net/126253-probleme-mit-umrechnung-und-korrekter-ausgabe.html)

SoD 21. Dez 2008 18:09

Re: Probleme mit Umrechnung und korrekter Ausgabe
 
Geht das auch immer noch so wie gedacht, wenn ich ne Case-Anweisung benutz?

Also wenn ein Wert gewürfelt wurde, dass das nächste Feld bei erneutem Druck ausgewürfelt wird?

DeddyH 21. Dez 2008 18:14

Re: Probleme mit Umrechnung und korrekter Ausgabe
 
Case an den richtigen Stellen: sicherlich. Ein Beispiel:
Zitat:

Delphi-Quellcode:
if editCount = 0 then
  begin
    EditMU.Text := IntToStr(i);
  end
  else
  begin
    if editCount = 1 then

    begin
      EditKL.Text := IntToStr(i);
    end
    else
    begin
      if editCount = 2 then
      begin
        EditCH.Text := IntToStr(i);
      end
      else
      begin
        if editCount = 3 then
        begin
          EditGE.Text := IntToStr(i);
        end
        else
        begin
          if editCount = 4 then
          begin
            EditKK.Text := IntToStr(i);
          end;
        end;
      end;
    end;
  end;

Das geht auch anders:
Delphi-Quellcode:
case editCount of
  0: EditMU.Text := IntToStr(i);
  1: EditKL.Text := IntToStr(i);
  2: EditCH.Text := IntToStr(i);
  3: EditGE.Text := IntToStr(i);
  4: EditKK.Text := IntToStr(i);
end;

SoD 21. Dez 2008 19:02

Re: Probleme mit Umrechnung und korrekter Ausgabe
 
Okay, ich sollte wohl mal mehr Records üben, damit ich dafür ein Gefühl bekomm, weil das an sich schon sehr einleuchtend ist :roll:

Jetzt hab ich nur das Problem, dass in den Edits keine Zahlen mehr erscheinen und ich wegen dem Record auch bisschen im Wald steh. Wir bring ich jetzt wieder den Timer damit in Verbindung, damit durch die Edits Zahlen durchrasseln?

mkinzler 21. Dez 2008 19:39

Re: Probleme mit Umrechnung und korrekter Ausgabe
 
Wie sehen die Records aus? Wie die Verbindung zu den Edits?

SoD 23. Dez 2008 11:54

Re: Probleme mit Umrechnung und korrekter Ausgabe
 
Zitat:

Zitat von mkinzler
Wie sehen die Records aus? Wie die Verbindung zu den Edits?

Wie die aussehen? :wiejetzt: Öhm... meintest du das hier?

Zitat:

Zitat von DeddyH
Das geht auch anders:
Delphi-Quellcode:
case editCount of
  0: EditMU.Text := IntToStr(i);
  1: EditKL.Text := IntToStr(i);
  2: EditCH.Text := IntToStr(i);
  3: EditGE.Text := IntToStr(i);
  4: EditKK.Text := IntToStr(i);
end;

Und die Verbindung mit den Edits ist eben mein Problem, ich hab keine Ahnung, wie ich die ansprechen soll. :gruebel:

Delphi-Quellcode:
//Rechnet die angegebenen Kreuzer in Währungen um und gibt das Ergebnis als Record zurück
function KreuzerToMoneyRec(cKreuzer: Cardinal): TMoneyRec;
begin
  //Beispiel: 1234 wurden übergeben

  Result.iKreuzer := cKreuzer mod 10; // = 4 Kreuzer (Rest bei Teilung durch 10)

  //jetzt wird erst durch 10 geteilt (= 123)
  //und davon wieder der Rest bei erneuter Teilung durch 10 ermittelt (= 3 Heller)
  Result.iHeller := cKreuzer div 10 mod 10;

  //nun analog das Gleiche, allerdings wird jetzt durch 100 geteilt
  Result.iSilber := cKreuzer div 100 mod 10;

  //zum Schluss brauchen wir keinen Rest mehr, das Ergebnis der Division ergibt die Dukaten
  Result.iDukaten := cKreuzer div 1000;
end;

//Rechnet den übergebenen Record wieder in Kreuzer zurück
//Rechenweg umgekehrt zu oben
function MoneyRecToKreuzer(aRec: TMoneyRec): Cardinal;
begin
  Result := aRec.iKreuzer +
            aRec.iHeller * 10 +
            aRec.iSilber * 100 +
            aRec.iDukaten * 1000;
end;

procedure TFrame2CharCreate.Timer1Timer(Sender: TObject);
begin
  GetCount(Sender);
end;

procedure TFrame2CharCreate.Timer2Timer(Sender: TObject);
begin
  GetCount(Sender);
end;

end.

DeddyH 23. Dez 2008 13:01

Re: Probleme mit Umrechnung und korrekter Ausgabe
 
Vielleicht sollten wir die Records wieder in die Tonne treten und wirklich eine gescheite Klasse daraus machen. Das dürfte sich später auszahlen, wenn es wirklich komplex werden sollte.

SoD 23. Dez 2008 13:47

Re: Probleme mit Umrechnung und korrekter Ausgabe
 
Was genau wäre denn der Vorteil eine Klasse draus zu machen? Hab ja damit bis jetzt noch nicht gearbeitet.

DeddyH 23. Dez 2008 13:50

Re: Probleme mit Umrechnung und korrekter Ausgabe
 
Z.B. Kapselung der Daten, Gültigkeitsprüfungen in Setter-Methoden, Vererbung und solche Dinge.

SoD 23. Dez 2008 13:59

Re: Probleme mit Umrechnung und korrekter Ausgabe
 
Also ich hatte bisher geplant, dass die Ausgewürfelten Daten irgendwo gespeichert werden sollen, damit sie Programmweit noch abrufbar und veränderbar sind, besonders das Vermögen des Charakters. Dazu hatte ich zuerst an eine Datenbank gedacht, die man während der Laufzeit lesen und beschreiben kann; momentan Paradox. Da ich aber einige Posts gelesen hab, die von dieser sehr abraten wäre ich auch nicht abgeneigt eine andere zu benutzen. Hauptsache ich kann die anständig und unkompliziert verwalten. Wichtig dabei ist auch noch, dass mein Programm danach auch ohne mitinstallierte System-Komponenten auf jedem anderen Rechner läuft.

DeddyH 23. Dez 2008 14:04

Re: Probleme mit Umrechnung und korrekter Ausgabe
 
Da böte sich dann eine Embedded-DB an. Ich persönlich mag Firebird, aber das ist eine Glaubensfrage, dazu gibt es hier einige Threads, bemüh mal die Forensuche. Und wo Deine Klasse letztendlich die Daten speichert (Textdateien, DB, typisierte Dateien, etc.) ist ja erst einmal unerheblich.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:35 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz