Autor |
Beitrag |
ralle90
Hält's aus hier
Beiträge: 9
|
Verfasst: So 01.03.09 21:36
soll folgendes programm mit delphi schreiben
hab im anhang die exe
soll möglichst kurzer effizienter weg sein und soll mit parameterübergabe programmiert werden
wollte es mit mod und div machen ist aber ein sehr langer weg
wie würdet ihr das lösen?
wenn möglich nur mit datentypen string, integer und real
danke
Einloggen, um Attachments anzusehen!
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: So 01.03.09 21:46
Hallo ralle90,
in diesem Forum wird es äußerst ungern gesehen, wenn nach fertigen Programmen, vorgefertigten Sources oder der Lösung der eigenen Hausaufgaben gefragt wird. Eines dieser drei Dinge hast Du gerade versucht, weshalb Du hiermit freundlich darauf hingewiesen werden sollst, dass in diesem Forum Freiwillige sitzen, die bei ausreichendem Entgegenkommen gerne helfen.
Bitte zeige etwas mehr Eigeninitiative als gewöhnlich, zeige uns deine bisherigen Versuche und sei entgegenkommend. Es wird Dir keiner ein Bein abreißen oder den Kopf abhacken, wenn dein Quelltext nicht 100% optimiert, performant und korrekt ist. Auch möchtest Du hier Hilfe bekommen, weshalb wir auf deine Mithilfe bei der Problemanalyse angewiesen sind.
Unsere Glaskugeln sind auf Grund der Vielzahl an Einsätzen meistens zur Reparatur, verborgt, auf Urlaub oder anderweitig nicht einsatzbereit. Daher möchten wir dich bitten, uns das Herumraten durch ausreichend Informationen zum Problem und deinem Source zu vermeiden.
Auch handelt es sich bei der Entwickler-Ecke nicht um eine ausgegliederte Deciphrier-Abteilung irgendeines Geheimdienstes, weshalb wir nicht auf die Entschlüsslung kryptischer Aneinanderreihungen von Buchstaben spezialisiert sind. Formatiere daher deinen Quelltext mit [ delphi]-Tags, um eine Farbhervorhebung zu veranlassen. Außerdem kannst Du die Lesbarkeit durch das gezielte Verwenden von Leerzeichen zur Einrückung deutlich erhöhen.
Hauptanliegen sollte dabei nicht sein, dein Problem an sich zu lösen, sondern Dir zu erklären, wie Du dieses beim nächsten Mal selbstständig finden und beheben kannst. Verzichte daher im eigenen Interesse darauf, eine fertige Lösung einfach nur zu kopieren - beim nächsten Mal stehst Du vor genau dem gleichen Problem!
MfG,
BenBE.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
ralle90 
Hält's aus hier
Beiträge: 9
|
Verfasst: Mo 02.03.09 18:47
sorry, hab bereits ein programm für die exe geschrieben
ist aber ganz schön lang denke ich
kann man das prog noch irgendwie vereinfachen
vor allem die procedure berechnen ist ja sehr umfangreich.
gibt es da noch eine andere möglichkeit vielleicht mit schleifen oder so
hier mein delphi quelltext:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113:
| procedure berechnen1 (restbetrag:integer);
VAR rest1:string; ausgabe,ausgabe1:real;
begin
rest1:=inttostr(restbetrag); ausgabe:=strtofloat(rest1);
ausgabe1:=ausgabe/100; form1.edit3.text:=floattostr(ausgabe1);
end;
procedure berechnen (restbetrag:integer);
VAR hundert,fuenfzig,zwanzig,zehn,fuenf,zwei,eins,fcent,zcent,zehncent,fuenfcent,zweicent,cent, hundert1,fuenfzig1,zwanzig1,zehn1,fuenf1,zwei1,eins1,fcent1,zcent1,zehncent1,fuenfcent1,zweicent1,cent1:integer;
begin
hundert :=restbetrag mod 10000; hundert1:=restbetrag DIV 10000; form1.Panel1.Caption:=inttostr(hundert1);
fuenfzig :=hundert mod 5000; fuenfzig1:=hundert DIV 5000; form1.Panel2.Caption:=inttostr(fuenfzig1);
zwanzig :=fuenfzig mod 2000; zwanzig1:=fuenfzig DIV 2000; form1.Panel3.Caption:=inttostr(zwanzig1);
zehn :=zwanzig mod 1000; zehn1:=zwanzig DIV 1000; form1.Panel4.Caption:=inttostr(zehn1);
fuenf :=zehn mod 500; fuenf1:=zehn DIV 500; form1.Panel5.Caption:=inttostr(fuenf1);
zwei :=fuenf mod 200; zwei1:=fuenf DIV 200; form1.Panel6.Caption:=inttostr(zwei1);
eins :=zwei mod 100; eins1:=zwei DIV 100; form1.Panel7.Caption:=inttostr(eins1);
fcent:=eins mod 50; fcent1:=eins DIV 50; form1.Panel8.Caption:=inttostr(fcent1);
zcent :=fcent mod 20; zcent1:=fcent DIV 20; form1.Panel9.Caption:=inttostr(zcent1);
zehncent :=zcent mod 10; zehncent1:=zcent DIV 10; form1.Panel10.Caption:=inttostr(zehncent1);
fuenfcent :=zehncent mod 5; fuenfcent1:=zehncent DIV 5; form1.Panel11.Caption:=inttostr(fuenfcent1);
zweicent :=fuenfcent mod 2; zweicent1:=fuenfcent DIV 2; form1.Panel12.Caption:=inttostr(zweicent1);
cent :=zweicent mod 1; cent1:=zweicent DIV 1; form1.Panel13.Caption:=inttostr(cent1);
end;
procedure TForm1.berechneClick(Sender: TObject); var a,b,g,h:real; d,f:string; i,j,restbetrag:integer;
begin
a:=strtofloat(edit1.text); b:=strtofloat(edit2.text);
g:=a*100; h:=b*100;
d:=floattostr(g); f:=floattostr(h);
i:=strtoint(d); j:=strtoint(f);
restbetrag:=(j-i);
berechnen(restbetrag); berechnen1(restbetrag);
end; |
Moderiert von Narses: Delphi-Tags hinzugefügt
Zuletzt bearbeitet von ralle90 am Mo 02.03.09 20:18, insgesamt 1-mal bearbeitet
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mo 02.03.09 18:57
Könntest Du deinen Source bitte in [Delphi]-Tags einschließen, wie ich es oben vorgeschlagen hab. Das macht den Source wesentlich lesbarer.
Und bzgl. Optimierung fallen mir schon jetzt eine ganze Reihe von Dingen auf:
- Greife nicht auf FormXY direkt zu, wenn Du es vermeiden kannst. Das ist ein absolut schlechter Stil
- Benutze Variablen mehrfach, wenn Du kannst und dies sinnvoll ist. Z.B. für die Münz-Rückgabe kann man hier sehr viel Kot einsparen
Gruß,
BenBE.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
ralle90 
Hält's aus hier
Beiträge: 9
|
Verfasst: Mo 02.03.09 20:22
danke für deine hilfe und anmerkungen. versuche es besser zu machen
zu deinen tipps kannst du mir die bitte genauer erklären oder am quelltext aufzeigen
weiß nämlich nicht genau was du meinst
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mo 02.03.09 20:50
Also nehmen wir einmal folgendes an:
Ich habe eine Liste mit den verschiedenen Optionen für das Wechselgeld.
Anstatt, dass ich jetzt für jede dieser Optionen explizit hinschreibe, dass ich 5ct haben möchte gehe ich einfach von der höchstmöglichen Ausgabe aus und reduziere dann immer, wenn nötig.
Dazu nehmen wir einmal an, ich habe ein Array, das wie folgt deklariert ist:
Delphi-Quelltext 1: 2: 3:
| type TGeldEinheit = Integer; TGeldEinheitenArray = array of TGeldEinheit; |
Im Euro-Raum sind folgende Werte definiert:
Delphi-Quelltext 1: 2: 3: 4:
| const EuroEinheiten: TGeldEinheitenArray = ( 1, 2, 5, 10, 20, 50, 100, 200, 500, 1000, 2000, 5000, 10000, 20000, 50000 ); |
Gehen wir nun weiter davon aus, dass ich einen bestimmten Restbetrag als Wechsegeld herausgeben muss und nun eine Funktion haben möchte, die mir genau dies berechnet, wie die Verteilung aussehen muss, dann könnte ich dies wie folgt tun:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| Function GetWechselgeld(Betrag: TGeldEinheit; Optionen: TGeldEinheitenArray): TGeldEinheitenArray; var X: Integer; Begin SetLength(Result, Length(Optionen)); X := High(Result); While (X >= 0) and (Betrag > 0) do Begin IF Optionen[X] < Betrag Then Begin Result[X] := Betrag div Optionen[X]; Betrag := Betrag mod Optionen[X]; end; Dec(X); end; end; |
Beim Aufruf dieser Funktion erhälst Du ein Array in dem jeder Möglichkeit Geldstücke oder -scheine zu verteilen die Anzahl der zugewiesenen Entitäten angegeben ist.
Die Ausgabe auf deinem Formular kann nun so aussehen:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| Procedure TForm1.GetWechselgeld(Sender: TObject); var GEZ, Preis: TGeldEinheit; WG: TGeldEinheitenArray; begin GEZ := StrToIntDef(Gezahlt.Caption, 0); Preis := StrToTintDef(Preis.Caption, 0); WG := GetWechselgeld(GEZ - Preis, EuroEinheiten); RueckGeldStapel.Items.BeginUpdate; try RueckGeldStapel.Items.Clear; For X := Low(EuroEinheiten) to High(EuroEinheiten) do Begin RueckGeldStapel.Items.Add(Format('%d * %d%s', [ WG[X], IIf(EuroEinheiten[X] >= 100, EuroEinheiten[X] div 100, EuroEinheiten[X]), IIf(EuroEinheiten[X] >= 100, ',- Euro', ' Cent')])); end; finally RueckGeldStapel.Items.EndUpdate;; end; end; |
Den Rest findest Du sicherlich selber noch raus 
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
ralle90 
Hält's aus hier
Beiträge: 9
|
Verfasst: Di 03.03.09 19:10
sorry, aber ich glaube das ist für mich zu hoch
trozdem danke für deine hilfe
hab wirklich nur wenig ahnung von delphi
kannste mir noch verbesserungsvorschläge für meinen quelltext machen?
hast was von variablen gesagt, die man öfter verwenden könne
und gibt es noch andere dinge die besser oder einfacher darzustellen gehen
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Di 03.03.09 19:15
Deiune Variablennamen in berechneClick dürften etwas aussagekräftiger sein. Da dürfen es ruhig mehr als nur ein Zeichen sein - auch in der Wirtschaftskrise, denn aussagekräftige Variablennamen kosten nichts.
Ferner: Schau Dir mal die Funktion Trunc bzw. Round an.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
ralle90 
Hält's aus hier
Beiträge: 9
|
Verfasst: Di 03.03.09 19:47
wenn ich aber round oder trunc benutze fehlen mir doch die kommastellen. wird dann meine ausgabe des restbetrages dann nicht auch gerundet?
dann spielen doch die cent keine rolle mehr?
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Di 03.03.09 19:48
Du kannst bei Round die Anzahl der Nachkommastellen angeben. Siehe Delphi-Hilfe.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Di 03.03.09 20:14
Heißt dann aber nicht mehr Round sondern RoundTo.
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
ralle90 
Hält's aus hier
Beiträge: 9
|
Verfasst: Fr 06.03.09 17:50
habe noch nicht andere möglichkeit gefunden das programm zu schreiben
habt ihr däfür noch verbesserungsvorschläge. ist nämlich wieder ziemlich lang
hier der quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219: 220: 221: 222: 223: 224: 225: 226: 227: 228: 229: 230: 231: 232: 233: 234: 235: 236: 237: 238: 239: 240: 241: 242: 243: 244: 245: 246: 247: 248: 249: 250: 251: 252: 253: 254: 255: 256: 257: 258: 259: 260: 261: 262: 263: 264: 265: 266: 267: 268: 269: 270: 271: 272: 273: 274: 275: 276: 277: 278: 279: 280: 281: 282: 283: 284: 285: 286: 287: 288: 289: 290: 291: 292: 293: 294: 295: 296: 297:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;
type TForm1 = class(TForm) BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; Label12: TLabel; Label13: TLabel; Label14: TLabel; Label15: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Label16: TLabel; Label17: TLabel; Label18: TLabel; Label19: TLabel; Label21: TLabel; Label22: TLabel; Label23: TLabel; Label24: TLabel; Label25: TLabel; Label26: TLabel; Label27: TLabel; Label28: TLabel; Label29: TLabel; Label30: TLabel; Label31: TLabel; Label32: TLabel; Label33: TLabel; Label34: TLabel; Label1: TLabel; Label20: TLabel; Label35: TLabel; procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject);
private public end;
var Form1: TForm1;
implementation
{$R *.dfm} PROCEDURE ausgabe (restbetrag:integer); VAR rest1:string; ausgabe,ausgabe1:real; begin rest1:=inttostr(restbetrag); ausgabe:=strtofloat(rest1);
ausgabe1:=ausgabe/100; form1.edit3.text:=floattostr(ausgabe1)+ ' €';
if ausgabe1>0 then form1.Label34.Caption:='Sie bekommen '+ floattostr(ausgabe1)+ '€ zurück!' else form1.Label34.Caption:='Stimmt genau!'; end;
procedure ermitteln (restbetrag:integer); var hundert,fuenfzig,zwanzig,zehn,fuenf,zwei,ein,fuenfzigc,zwanzigc,zehnc,fuenfc,zweic,einc:integer; begin hundert :=0; fuenfzig :=0; zwanzig :=0; zehn :=0; fuenf :=0; zwei :=0; ein :=0; fuenfzigc :=0; zwanzigc :=0; zehnc :=0; fuenfc :=0; zweic :=0; einc :=0;
while restbetrag>0 do
if (restbetrag>=10000) then begin restbetrag:=restbetrag-10000; hundert:=hundert+1; end
else if (restbetrag>=5000) then begin restbetrag:=restbetrag-5000; fuenfzig:=fuenfzig+1; end
else
if (restbetrag>=2000) then begin restbetrag:=restbetrag-2000; zwanzig:=zwanzig+1; end
else
if (restbetrag>=1000) then begin restbetrag:=restbetrag-1000; zehn:=zehn+1; end
else if (restbetrag>=500) then begin restbetrag:=restbetrag-500; fuenf:=fuenf+1; end
else if (restbetrag>=200) then begin restbetrag:=restbetrag-200; zwei:=zwei+1; end
else if (restbetrag>=100) then begin restbetrag:=restbetrag-100; ein:=ein+1; end
else if (restbetrag>=50) then begin restbetrag:=restbetrag-50; fuenfzigc:=fuenfzigc+1; end
else
if (restbetrag>=20) then begin restbetrag:=restbetrag-20; zwanzigc:=zwanzigc+1; end
else if (restbetrag>=10) then begin restbetrag:=restbetrag-10; zehnc:=zehnc+1; end
else if (restbetrag>=5) then begin restbetrag:=restbetrag-5; fuenfc:=fuenfc+1; end
else if (restbetrag>=2) then begin restbetrag:=restbetrag-2; zweic:=zweic+1; end
else if (restbetrag>=1) then begin restbetrag:=restbetrag-1; einc:=einc+1; end;
form1.Label21.Caption:=inttostr(hundert); form1.Label22.Caption:=inttostr(fuenfzig); form1.Label23.Caption:=inttostr(zwanzig); form1.Label24.Caption:=inttostr(zehn); form1.Label25.Caption:=inttostr(fuenf); form1.Label26.Caption:=inttostr(zwei); form1.Label27.Caption:=inttostr(ein); form1.Label28.Caption:=inttostr(fuenfzigc); form1.Label29.Caption:=inttostr(zwanzigc); form1.Label30.Caption:=inttostr(zehnc); form1.Label31.Caption:=inttostr(fuenfc); form1.Label32.Caption:=inttostr(zweic); form1.Label33.Caption:=inttostr(einc);
end;
procedure TForm1.BitBtn1Click(Sender: TObject); var fahrpreis,gezahlt,d,f:real; g,h:string; i,j,restbetrag:integer;
begin try fahrpreis:=strtofloat(edit1.text); gezahlt:=strtofloat(edit2.text);
if (fahrpreis>gezahlt) then begin showmessage('Zu wenig Gezahlt'); form1.edit1.Clear; form1.edit2.Clear; form1.edit1.SetFocus end
ELSE
if (gezahlt<=0) or (fahrpreis<=0) then begin showmessage('Falsche Eingabe'); form1.edit1.Clear; form1.edit2.Clear; form1.edit1.SetFocus; end
else begin d:=fahrpreis*100; f:=gezahlt*100;
g:=floattostr(d); h:=floattostr(f);
i:=strtoint(g); j:=strtoint(h);
restbetrag:=(j-i);
ermitteln(restbetrag); ausgabe(restbetrag); end;
except showmessage('Falsche Eingabe'); form1.Edit1.Clear; form1.Edit2.Clear; form1.Edit3.Clear; form1.Edit1.setfocus; END; end;
procedure TForm1.BitBtn2Click(Sender: TObject); begin form1.Edit1.Clear; form1.Edit2.Clear; form1.Edit3.Clear; form1.Edit1.setfocus; form1.label21.Caption:=' '; form1.label22.Caption:=' '; form1.label23.Caption:=' '; form1.label24.Caption:=' '; form1.label25.Caption:=' '; form1.label26.Caption:=' '; form1.label27.Caption:=' '; form1.label28.Caption:=' '; form1.label29.Caption:=' '; form1.label30.Caption:=' '; form1.label31.Caption:=' '; form1.label32.Caption:=' '; form1.label33.Caption:=' '; form1.Label34.Caption:=' '; end;
end. |
Moderiert von Narses: Delphi-Tags hinzugefügt
|
|
Jens Hartmann
      
Beiträge: 120
XP
Delphi
|
Verfasst: Fr 06.03.09 18:10
Hallo,
als erstes würde ich Dir vorschlagen, wie oben schon mal erwähnt, die Anweisungen ohne Form zumachen.
[EDIT] Den Verweis auf eine Form macht man nur, wenn man mehrere Formen hat, und man aus der Form1 z.B. irgendwas aus der Form2 (Unit2) nutzen will.
Das ist interessant, wenn man sich selber Klassen schreibt oder so...
[EDITEND]
Dein Code...
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| except showmessage('Falsche Eingabe'); form1.Edit1.Clear; form1.Edit2.Clear; form1.Edit3.Clear; form1.Edit1.setfocus; END; end; |
Neuer Code...
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| except showmessage('Falsche Eingabe'); Edit1.Clear; Edit2.Clear; Edit3.Clear; Edit1.setfocus; end; |
Außerdem, würde ich auch den Komponenten Aussagekräftige Namen geben. Damit erreichst eine besser Übersicht.
Was auch immer Hilft, später ein Programm zu lesen, sind Kommentare. Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| Edit1.Text
EDCent.Text ED1Euro.Text
|
Fang erst schon mal so an, dann ist dein Quellcode schon viel übersichtlicher.
PS: Du solltest auch das Einrücken der Codepassagen mal anpassen.
Und was oben schon mal erwähnt worden ist, Such mal nach Array´s hier im Forum, damit wird dein Code dann wesendlich kürzer.
Allerdings änder erstmal die anderen Sachen ab.
Gruß
Jens
Zuletzt bearbeitet von Jens Hartmann am Fr 06.03.09 18:14, insgesamt 1-mal bearbeitet
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Fr 06.03.09 18:12
Die Möglichkeit bzgl. der Verwendung von Arrays\Feldern, die ich oben erwähnt habe, stellt eine wesentliche Verkürzung dar.
Zu deinem Kot aber einen kleinen Hinweis: Bitte bei Einrückung immer nur genau 2 oder nur genau 4 Leerzeichen verwenden, da du ansonsten recht schnell horizontale Scrollbalken provozierst.
Ferner solltest Du Label und andere Komponenten immer nach ihrer Aufgabe benennen. Das verbessert die Verständlichkeit deines Sources ungemein.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
ralle90 
Hält's aus hier
Beiträge: 9
|
Verfasst: So 08.03.09 16:12
ok. danke
habe ich soweit gemacht.
hab jetzt noch ein drittes programm wo die berechnung in 13 while schleifen gelöst ist.
jetzt noch eine letzte frage an euch.
welche meiner varianten ist die beste oder effizienteste?
Die ertse mit mod und div
die zweite mit einer while schleife und den if anweisungen
oder die dritte mit 13 while schleifen
noch besser ist bestimmt eure lösung mit den arrays. aber das bekomme ich mit meinen kenntnissen nicht hin.
also was meint ihr?
|
|
|