Autor Beitrag
_Jonny_
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18

Win 98, WIN 2000 (auf NT Technologie), Win XP

BeitragVerfasst: Fr 08.06.07 12:41 
hi

kann mir jemand verraten wie ich aus strings stichwortartig muster heraussuchen kann?

also zur erklärung:

ich benutze ein record, welches gespeichert wird.

nun hab ich ein elemt des records als string[20] deklariert und lese meinetwegen "Der kleine Drache" in dieses record, das record wird dann später in ein file gespeichert.

beim laden aus dem file lade ich das gesamte record (alles was in dem file steht) in ein array (dynamisch) nun möchte ich über ein editfeld teile dieses stringes auslesen, d.h. ich gebe meinetwegen "kleine" ein und er listet mir dann den gesamten string in ein lable oder so.
es soll halt ein stichwort-suchregister werden bei dem ich nur teile des stringes kenne. z.b. wie bei der suche bei google, das man ein stichwort eingibt und einem der gesamte string gegeben wird.

also wie genau kann ich teile eines stringes herausfinden? :?:
kann mir da jemand helfen und mir erklären wie das geht? :?:

LG _Jonny_

ps: danke für eventuelle hilfe.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 08.06.07 12:44 
Moin und :welcome: im Forum!

Schau mal nach der Funktion Pos()in der Delphi-Online-Hilfe, damit solltest du weiter kommen. ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
freedy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 403
Erhaltene Danke: 1

Winows 7
Delphi XE
BeitragVerfasst: Fr 08.06.07 13:06 
Moin,

das könnte schon kompliziter werden. Schließlich musst du ja eine Liste dagegen setzen, die Wörter wie "ein", "eine", "der", "die", "das" usw. herausfiltert. Ein Stickwort-Katalog mit diesen Wörtern wird nicht gerade sinnvoll sein, oder? Google filtert das übrigens auch.

Evtl. hilft dir auch Fuzzy-Logic. Einfach mal danach googlen. ;-)

Grüße,
Michael
_Jonny_ Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18

Win 98, WIN 2000 (auf NT Technologie), Win XP

BeitragVerfasst: Fr 08.06.07 13:51 
sry aber ich habe kein netz an dem rechner wo ich progge, also auch keine onlinehilfe...

was das mit dem filter angeht...ich weiß das es irgendwie geht ein string in seine einzelteile zu zerlegen, d.h. das ich bei meinetwegen "Hallo ihr" die beiden wörter und das leerzeichen filtern kann und mir ausgeben lassen kann...ich würde nur gerne wissen wie ^^' also das er mir dann "Hallo" und "ihr" einzelnd schreibt ^^''
Miri
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 657


Delphi 3 Prof., Delphi 2005 PE
BeitragVerfasst: Fr 08.06.07 13:59 
Suche in der Entwickler-Ecke POS und Suche in der Entwickler-Ecke COPY können dir weiterhelfen!
Einfach mal die Suche bemühen!

_________________
Anonymes Eckenkind
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 08.06.07 14:41 
Moin!

user profile icon_Jonny_ hat folgendes geschrieben:
sry aber ich habe kein netz an dem rechner wo ich progge, also auch keine onlinehilfe...

Gib mal "pos" ein und drück F1, dazu brauchst du keinen Internetzugang. ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
_Jonny_ Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18

Win 98, WIN 2000 (auf NT Technologie), Win XP

BeitragVerfasst: Fr 08.06.07 18:30 
Titel: nochmal zur suche
also nochmal zu der suche...

ich hab das jetzt so gemacht:

das steht in der edit-anweisung keypress:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TFrm_search.Edt_searchKeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13
  then
    suche;
end;


es wird hier dann die procedure suche aufgerufen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
procedure suche;
var i,anzahl, k : integer;
begin
  try
    assignfile(f,'text.txt');
    {$i-}
    reset(f);
    {$i+}

    anzahl := filesize(f)-1;
    SetLength(textfeld,filesize(f));
    closefile(f);
    for i := 0 to anzahl do
    begin
      k := Pos(Frm_search.Edt_search.Text,textfeld[i]);
      if k = 0
      then
        begin
          application.Title := 'Zeichenketten';
          showmessage('Ihre Zeichenkette/-n lautet/lauten : ' + textfeld[i] + '');
        end;
    end;
  except
  end;
end;


hier wird der substring in form des edit-inhaltes übergeben und der hauptstring der in dem dynamischen array ist (textfeld[i]).

nun weiß ich nur das bei der Pos-funktion ein zahlenwert übergeben wird, deswegen frage ich auch danach. ich würde jetzt gerne wissen was in der funktion Pos

ausblenden Delphi-Quelltext
1:
2:
3:
4:
function Pos(Substr: string; S: string): Integer;
begin

end;

stehen muss damit er mir auch das richtige ausgibt. kann mir da jemand helfen? was muss ich in dieser function berücksichtigen?

Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt