| Autor |
Beitrag |
daywalker0086
      
Beiträge: 243
Delphi 2005 Architect
|
Verfasst: Fr 28.11.08 18:17
Also ich steh mal wieder aufm Schlauch und zwar habe ich ein Variable vom typ integer in der folgende Zahl steht: 19 .
Diese Zahl soll jetzt durch 10 geteielt werden sodass 1,9 raus kommt und diese Zahl soll dann zum Beispiel in nem Editfeld oder was auch immer als 1,9 angezeigt werden. Bei mir solls in ne Stringrid geschrieben werden:
stringgrid1.Cells[1,D-2] :=wertefiltern(Daten,D-1) ;
Da wirds eingetragen : Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| function wertefiltern(Werte: array of string; zelle: integer): string; var temp, anfang: integer;
begin
Anfang:= zelle*2; temp:= strtoint('$'+Werte[anfang]);
case zelle of 5: Result:= inttostr(temp div 2); 13: Result:= floattostr(temp / 10) ; else
Result:=inttostr(temp); end; |
Das ist die Funktion
In der Zelle wird trotzdem 19 statt 1,9 angezeigt, und ich weis nicht warum 
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 28.11.08 18:23
Du weist in Zeile 18 einen Wert an Result zu, jegliche vorher zugewiesene Werte werden dabei überschrieben. Da sollte auch eine Compilerwarnung kommen, dass diese vorher zugewiesenen Werte nie verwendet werden.
|
|
daywalker0086 
      
Beiträge: 243
Delphi 2005 Architect
|
Verfasst: Fr 28.11.08 18:30
Hat sich erledigt funktioniert alles wie gewollt hat nur ne falsche Bedingung gesetzt was mir jetzt erst auffiel.
Tut mir leid für diesen Beitrag
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 28.11.08 18:36
Und ich sehe jetzt erst, dass das was ich geschrieben habe gar nicht so ist, ich habe das else in Zeile 15 als end gelesen wegen deiner komischen Formatierung  . Wie wäre es so? Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| function wertefiltern(Werte: array of string; zelle: integer): string; var temp, anfang: integer; begin Anfang := zelle*2; temp := StrToInt('$' + Werte[anfang]);
case zelle of 5: Result := IntToStr(temp div 2); 13: Result := FloatToStr(temp / 10); else Result := IntToStr(temp); end; end; |
|
|
freedy
      
Beiträge: 403
Erhaltene Danke: 1
Winows 7
Delphi XE
|
Verfasst: Fr 28.11.08 18:53
Sehr schön... Ich mag Leute, die mit Delphi Style Guide arbeiten. 
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 28.11.08 18:56
Das tue ich noch nichtmal, ich hab davon mal die erste Seite gelesen, mehr nicht.  .
Aber ich habe schon viel Quelltext gesehen, auch mit Delphi mitgelieferten, und habe mir das dann so angewöhnt, so finde ich es übersichtlich  .
|
|
daywalker0086 
      
Beiträge: 243
Delphi 2005 Architect
|
Verfasst: Fr 28.11.08 21:54
Ja so siehts schöner aus aber ich hab in der Funktion immer nen Haufen geändert und bin noch nicht dazu gekommen den Quelltext schön zu machen... 
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 28.11.08 22:33
Ich mach das immer automatisch beim Schreiben, hinterher bringts ja nicht mehr ganz so viel für den Moment, es geht ja auch darum, dass man beim Schreiben gleich Fehler erkennt und nicht nur um eine bessere Lesbarkeit für späteres Lesen. Und deshalb formatiere ich den Quelltext grundsätzlich immer sofort richtig. Und bei größeren Projekten oder Änderungen an einem solchen dokumentiere und kommentiere ich Änderungen und neue Quelltexte auch immer sofort. (Wenn auch eher spärlich, weil nicht an Anfänger gerichtet.  )
|
|