Registriert seit: 8. Nov 2006
1.360 Beiträge
Delphi 10.3 Rio
|
Re: Text in die letze Zeile vom StringGrid
16. Jun 2008, 10:37
So ghab mal die screenshoots angehängt
Delphi-Quellcode:
// warum diese Prüfung?
// if StringGrid1.Rows[0].IndexOf('SwitchedDuration') = 4 then
damit nur nur in die schleife gegeangen wird wenn diese überschrift vorhanden ist.
Hier nochmal alles mit findStrings
Delphi-Quellcode:
function findStrings(sl:TStrings;s:TStrings;cSeparator: char = '.'): double;
var i :Integer;
ergebnis :Tstrings;
OldSep: char;
begin
OldSep := DecimalSeparator; //Sichern des alten Zustandes
DecimalSeparator := cSeparator; //Umstellen des Dezimalseparators
Result := 0;
ergebnis:= TStringList.Create;
try
for i := 1 to Pred(sl.Count)-1 do
if (sl[i]) = 'OUT' then
begin
ergebnis.Add(s[i]); //hier die änderung
Result := Result + StrToFloatDef(s[i],0); //hier die Ergänzung
end;
ergebnis.SaveToFile('c:\test.txt');
finally
ergebnis.Free;
end;
DecimalSeparator := OldSep; //Wiederherstellen des alten Zustandes
end;
procedure TForm1.Button6Click(Sender: TObject);
Var i,y : integer;
summe1,ErgebnisSwichedDuration : double;
begin
ErgebnisSwichedDuration:= 0;
Label3.Caption:= '';
Label7.Caption:= '';
y:= StringGrid1.Rows[0].IndexOf('SwitchedDuration');
begin
if StringGrid1.Rows[0].IndexOf('SwitchedDuration') = 4 then
begin
for I := 0 to StringGrid1.RowCount - 1 do
if StringGrid1.Cells[i,0] = 'Way' then
ErgebnisSwichedDuration:= (findStrings(StringGrid1.Cols[i],StringGrid1.Cols[y]));
summe1:= (ErgebnisSwichedDuration);
StringGrid1.RowCount:= StringGrid1.RowCount +2;
StringGrid1.Cells[y,Pred(StringGrid1.RowCount)]:= Format('%.6f',[summe1/(60)])+' min.(OUT)';
StringGrid1.Cells[0,Pred(StringGrid1.RowCount)]:= 'Gesamt';
end
else
exit;
end
end;
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...
Surft Ihr mit dem Taschenrechner?"
|