Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi stringrid füllen mit suchergebnis (https://www.delphipraxis.net/10842-stringrid-fuellen-mit-suchergebnis.html)

horst 26. Okt 2003 13:54


stringrid füllen mit suchergebnis
 
ich habe ein problem mit dem füllen eines stringrid mit suchergebnissen.
ein memo kann ich so ganz prima füllen...
werwende dafür den tip:
http://joachim.mohr.rottenburg.bei.t...ml#durchsuchen
Code:
procedure ZuMemoFallsKiterienerfuellt(const pfad, BestimmteDatei,
                                      SuchTextInDerDatei: string);
begin
  if Str1IstInStr2(BestimmteDatei,pfad)
    and istInderDatei(SuchTextInDerDatei,pfad) then
      form1.memo1.lines.add('"'+pfad + '" enthält den Text "' +
                             SuchTextInDerDatei);
end;
ich muss aber die ersten beiden reihen eines stringrids füllen...
http://www.fusshoeller.com/screens/stringgrid.gif
habe es so versucht, klappt aber nicht...
Code:
procedure ZuMemoFallsKiterienerfuellt(const pfad, BestimmteDatei,SuchTextInDerDatei: string);
var
i:integer;
aStringList : TStringList;
begin
  aStringList := TStringList.Create;
  if Str1IstInStr2(BestimmteDatei,pfad)
    and istInderDatei(SuchTextInDerDatei,pfad) then
     // form1.memo1.lines.add('"'+pfad + '" enthält den Text "' + SuchTextInDerDatei);
     FOR i := 0 TO aStringList.Count - 1 DO
         BEGIN
       Form1.StringGrid1.Cells[0, i + 1] := ('"'+pfad + '" enthält den Text "' + SuchTextInDerDatei[i]);
end;
end;
1) im pfad sollte aber nur noch der ordner stehen ohne pfad (C:\xyz\
, das sollte alles in die erste spalte (da wo jetzt webbrowser steht)
2) das "enthält den Text " muss raus (ist das kleinste problem ;)
3) und in die zweite spalte sollte dann der name der datei. ( da wo jetzt tippname steht)

wer blickt hier durch und mag helfen?

grüße horst

Christian Seehase 26. Okt 2003 14:01

Re: stringrid füllen mit suchergebnis
 
Moin Horst,

irgendwie ist mir Dein Problem nicht klar.

Soweit ich das verstanden habe, solltest Du Dir mal ExtractFilePath, ExtractFileName, LastDelimiter und Copy anschauen.

horst 26. Okt 2003 14:09

Re: stringrid füllen mit suchergebnis
 
moin christian
das was mit
form1.memo1.lines.add('"'+pfad + SuchTextInDerDatei);
ins memo kommt, soll in ein stringrid. (s.screenshot oben)

Christian Seehase 26. Okt 2003 14:24

Re: stringrid füllen mit suchergebnis
 
Moin Horst,

schau Dir doch noch mal die Eigenschaft Cells genau an.
Hier werden doch als Parameter ja Spalte und Zeile angegeben.
Du brauchst also für jede Spalte eine Zuweisung, und kannst es nicht, wie beim Memo, mit einer erledigen.

horst 26. Okt 2003 14:29

Re: stringrid füllen mit suchergebnis
 
genau das ist ja mein problem, ich blick da nicht durch...

Christian Seehase 26. Okt 2003 14:34

Re: stringrid füllen mit suchergebnis
 
Moin Horst,

na ja, statt es in eine Zelle zu schreiben

Delphi-Quellcode:
Form1.StringGrid1.Cells[0, i + 1] := ('"'+pfad + '" enthält den Text "' + SuchTextInDerDatei[i]);
musst Du es in zwei Zellen schreiben

Delphi-Quellcode:
// erste Spalte
Form1.StringGrid1.Cells[0, i + 1] := pfad;
// zweite Spalte
Form1.StringGrid1.Cells[1, i + 1] :=SuchTextInDerDatei[i];

horst 26. Okt 2003 15:01

Re: stringrid füllen mit suchergebnis
 
das funktioniert so nicht, was mache ich falsch?

Delphi-Quellcode:
procedure ZuMemoFallsKiterienerfuellt(const pfad, BestimmteDatei,SuchTextInDerDatei: string);
var
i:integer;
aStringList : TStringList;
begin
 aStringList := TStringList.Create;
  if Str1IstInStr2(BestimmteDatei,pfad)
    and istInderDatei(SuchTextInDerDatei,pfad) then
   form1.memo1.lines.add('"'+pfad + '" enthält den Text "' + SuchTextInDerDatei);
   FOR i := 0 TO aStringList.Count - 1 DO
       BEGIN
// erste Spalte
Form1.StringGrid1.Cells[0, i + 1] := pfad;
// zweite Spalte
Form1.StringGrid1.Cells[1, i + 1] :=SuchTextInDerDatei[i];
end;
end;

Christian Seehase 26. Okt 2003 16:31

Re: stringrid füllen mit suchergebnis
 
Moin Horst,

Zitat:

Zitat von horst
das funktioniert so nicht

Ähhh... und was funktioniert nicht?

horst 26. Okt 2003 16:33

Re: stringrid füllen mit suchergebnis
 
das stringgrid wird nicht gefüllt...

hiermit geht es:
Delphi-Quellcode:
procedure ZuMemoFallsKiterienerfuellt(const pfad, BestimmteDatei,SuchTextInDerDatei: string);
var
i:integer;
aStringList : TStringList;
begin
//aStringList := TStringList.Create;
  if Str1IstInStr2(BestimmteDatei,pfad)
    and istInderDatei(SuchTextInDerDatei,pfad) then
   form1.memo1.lines.add('"'+pfad + '" enthält den Text "' + SuchTextInDerDatei);
   FOR i := 0 TO Form1.StringGrid1.ColCount - 1 DO
// erste Spalte
Form1.StringGrid1.Cells[0, i + 1] := pfad;
// zweite Spalte
Form1.StringGrid1.Cells[1, i + 1] :=BestimmteDatei;
end;
sieht aber komisch aus
http://www.fusshoeller.com/screens/s2.gif

Christian Seehase 26. Okt 2003 16:40

Re: stringrid füllen mit suchergebnis
 
Moin Horst,

wenn ich mir das mal genauer ansehe:
Kann auch nicht, denn es soll aus der StringListe gefüllt werden, die in dem Codeschnipsel nur erzeugt, aber nicht gefüllt wird, und somit einen Count von 0 hat, was dazu führt, dass die Schleife von 0 bis -1 geht, und somit übersprungen wird.

Sträflicher Weise wird die StringListe nicht einmal freigegeben ;-)

Irgendwie fehlt da wohl ein bisschen was Entscheidendes ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:57 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz