Registriert seit: 8. Nov 2006
1.360 Beiträge
Delphi 10.3 Rio
|
Re: Estes bestimmtes Zeichen abschneiden
12. Sep 2008, 12:02
Das geht auch nicht so ganz vielleicht wäre einer von euch mal sonet und würde da drüber schauen ich find den Fehler nicht.
Da hängt ja noch einiges mehr dran.
Delphi-Quellcode:
procedure TForm7.Edit1Change(Sender: TObject);
var sAnKollegeEdit,sAnKollegeEditFertig : String;
iEditposition :Integer;
begin
sAnKollegeEdit:= Edit1.Text;
if (Length(sAnKollegeEdit) > 0) and (sAnKollegeEdit[1] = ',') then
Delete(sAnKollegeEdit,1,1);
Label1.Caption:= sAnKollegeEdit;
end;
function ColsToStr(sg: TStringGrid; colNums: array of Integer): string;
var iCol, iRow: Integer;
s: string;
begin
with TStringList.Create do
try
Sorted := True;
for iCol := Low(colNums) to High(colNums) do
for iRow := sg.FixedRows to Pred(sg.RowCount) do
begin
s:= Trim(sg.Cols[colNums[iCol]][iRow]);
if (s <> '') and (IndexOf(s) < 0) then
Add(s);
end;
Result := CommaText;
finally
Free;
end;
end;
procedure TForm7.StringGrid1EditorLeave(Sender: TObject; ACol, ARow: Integer);
Var sTemp: String;
slTemp: TStringlist;
Begin
//Wenn eine der beiden Spalten verlassen wird, dann holen wir und erstmal die kommaseparierten Values dieser beiden Spalten
If (ACol = 11) Or (ACol = 12) Then Begin
sTemp := ColsToStr(StringGrid1, [11, 12]);
//Anführungsstriche entfernen
sTemp := StringReplace(sTemp, #34, '', [rfReplaceAll]);
sTemp:= sTemp + ',' + Edit1.Text;
//daraus müssen nun noch doppelte Einträge entfernt werden
slTemp := TStringList.Create;
Try
slTemp.Sorted := True;
slTemp.Duplicates := dupIgnore;
slTemp.CommaText := sTemp;
//Dem Edit den Kommatext zuweisen
Edit1.Text := slTemp.CommaText;
Finally
slTemp.Free;
End;
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?"
|