Autor Beitrag
daywalker0086
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 243


Delphi 2005 Architect
BeitragVerfasst: 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 :
ausblenden 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);   //Stelle -1
   13: Result:= floattostr(temp / 10) ; //<-- Hier klemmts 
   else


   Result:=inttostr(temp);
   end;

Das ist die Funktion
In der Zelle wird trotzdem 19 statt 1,9 angezeigt, und ich weis nicht warum :cry:
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 243


Delphi 2005 Architect
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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?
ausblenden 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);   //Stelle -1
     13: Result := FloatToStr(temp / 10); //<-- Hier klemmts 
   else
     Result := IntToStr(temp);
   end;
end;
freedy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 403
Erhaltene Danke: 1

Winows 7
Delphi XE
BeitragVerfasst: Fr 28.11.08 18:53 
Sehr schön... Ich mag Leute, die mit Delphi Style Guide arbeiten. :-)
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 243


Delphi 2005 Architect
BeitragVerfasst: 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... :wink:
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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. ;-))