Autor Beitrag
Lucky
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 84

XP
Delphi 7
BeitragVerfasst: Do 27.07.06 13:58 
hallo nochmals alle zusammen, da ich den vorherigen Quellcode nicht verstanden hatte, habe ich mich hingesetzt und mit der materie auseinandergesetzt und alles ganz alleine geschrieben allerdings, funktioniert die Suche net. Ich bitte euch darum den Quellcode mal anzuschauen und mir viel nen Typ zu geben, wo mein Fehler liegt. Bitte :flehan: Vielen Dank im Voraus
achso die Problemstellung ein stringgrid oder besser gesagt jvgstringgrid soll nach einem best String durchsucht werden und ich kapier einfach net, was ich da falsch gemacht habe.


for i:=0 to JvgStringGrid1.RowCount-1 do
if pos(suchwort,AnsiUpperCase(JvgStringGrid1.Cells[2,i])) >0 then
begin
memo2.lines.add(JvgStringGrid1.Cells[2,i]);
showmessage('gefunden an Stelle '+inttostr(i));
end;
if Memo2.lines.Count<=0 then
ShowMessage('shit');
end;
wdbee
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 628
Erhaltene Danke: 1



BeitragVerfasst: Do 27.07.06 14:50 
Ich habe die Kompnente JvgStringGrid nicht, aber geht das so?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
procedure TForm1.Button1Click(Sender: TObject);
var
  Suchwort: string;
  I: Integer;
begin
//>>> Das hier ist zum Test:
  Suchwort := 'suche etwas';
  JvgStringGrid1.Cells[2,0] := 'Ich ' + Suchwort + ' ganz bestimmtes!';
//<<<

  for I := 0 to JvgStringGrid1.RowCount - 1 do
    if Pos(AnsiUpperCase(Suchwort),AnsiUpperCase(JvgStringGrid1.Cells[2,I])) > 0 then
    begin
      Memo2.Lines.Add(JvgStringGrid1.Cells[2,I]);
      ShowMessage('Gefunden an Stelle ' + IntToStr(I));
    end;

  if Memo2.Lines.Count <= 0 then
    ShowMessage('shit');
end;
Lucky Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 84

XP
Delphi 7
BeitragVerfasst: Do 27.07.06 14:57 
Danke erst mal für die Antwort und ja funktioniert. das heißt also das Programm hat Probleme mit meinem Zelleninhalt oder?
Lucky Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 84

XP
Delphi 7
BeitragVerfasst: Do 27.07.06 15:00 
ok, sorry nicht gescheit gelesen funktioniert jetzt alles vielen vielen Dank, also lag das nur an dieser einen Zeile oder "if Pos(AnsiUpperCase(Suchwort),AnsiUpperCase(JvgStringGrid1.Cells[2,I])) > 0 then" halt das er das Suchwort auch groß schreibt?! also nochmals vielen vielen Dank :flehan:
wdbee
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 628
Erhaltene Danke: 1



BeitragVerfasst: Do 27.07.06 15:06 
Da du uns nur einen Teil gezeigt hast, kann ich dir dazu nur folgendes sagen:

In deinem letzten Post hattest du, so wie ich es hier gemacht habe, eine lokale Variable Suchwort definiert.

Aber dieser Variablen hattest du keinen Inhalt zugewiesen. Deshalb hier die beiden Zeilen als Test. Außerdem verwendest du die Funktion AnsiUpperCase einseitig. Das geht, wenn das Suchwort korrekt gesetzt ist. Da ich das bei deinem Programm nicht sehe, habe ich beide Seiten für die Vergleichssuche mit der Funktion behandelt, damit nicht 'suche etwas' <> AnsiUpperCase('suche etwas') wird!