AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Suchen, vergleichen

Offene Frage von "jonsen2.0.0.9"
Ein Thema von jonsen2.0.0.9 · begonnen am 17. Mär 2010 · letzter Beitrag vom 20. Mär 2010
Antwort Antwort
Seite 1 von 3  1 23      
jonsen2.0.0.9

Registriert seit: 5. Dez 2009
67 Beiträge
 
Delphi 7 Personal
 
#1

Suchen, vergleichen

  Alt 17. Mär 2010, 18:39
Hi,

ich schriebe jetzt mal ein Programm, bzw. ich versuche es, mit dem man in einem Spiel etwas formatieren kann.

Naja...ich hab folgendes Problem:

Die zu formatierende Liste ist allerdings unterschiedlich, deshalb muss ich nach bestimmten begriffen suchen.

Meine erste Frage:

Wie durchsuche ich einen String nach bestimmten Begriffen?

So dann hab ich noch eine Frage:

Ich habe einen String. Ich möchte gerne wissen ob an der Stelle x in diesem String ein "Integer" also eine Zahl (sind ja alles chars) steht.

Ein String ist ja bekanntlich eigentlich nur ein array der aus chars besteht. ich möchte nun wissen (ohne try strtoint) ob das zeichen

string[x] eine Zahl ist.

gibt es da eine möglichkeit mit z.B. if? (an dieser Stelle weiss ich, dass man dies mit try strtoint lösen könnte) aber ich suche eine andere möglichkeit.

Hoffe ihr könnt mir helfen

MFG
Jonsen
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Suchen, vergleichen

  Alt 17. Mär 2010, 18:43
Schau mal hier...

Delphi-Quellcode:
if Pos('Ich Suche', 'Suchstring') > 0 then
  ...
//Pos(Suchstring, Stringvar.)
auf die Frage mit dem Integer. Du musst mit Pos prüfen, aber...
  tryStrToInt wäre da schon ratsam...


Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Suchen, vergleichen

  Alt 17. Mär 2010, 18:58
Überprüfen, ob ein Char eine Zahl darstellt, würde ich so:
Delphi-Quellcode:
if MyString[I] in ['0'..'9'] then
  showmessage(Format('Das Zeichen "%s" ist eine Zahl!', [MyString[I]]));
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
jonsen2.0.0.9

Registriert seit: 5. Dez 2009
67 Beiträge
 
Delphi 7 Personal
 
#4

Re: Suchen, vergleichen

  Alt 17. Mär 2010, 19:39
vielen dank

aber wie finde ich heraus an welcher position (was x ist) der anfangsbuchstabe oder der endbuchstabe von dem gesuchten ist?

und was ist wenn es das was ich suche mehr als einmal gibt?

MFG
Jonsen
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Suchen, vergleichen

  Alt 17. Mär 2010, 19:54
Wie wäre es z.B. mit einer Schleife. Aber vieleicht solltest Du mal deinen Code zeigen, damit man das eventuell besser beurteilen kann. Mit einer Schleife könntest Du das z.B. in etwa so gestalten...

Delphi-Quellcode:
var
  iPos : integer;
begin
...
  while Pos('Suchetext', Text) > 0 do
    begin
      iPos := Pos('Suchtext', Text);
      ShowMessage(IntToStr(iPos));
    end;
Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Suchen, vergleichen

  Alt 17. Mär 2010, 20:03
Zitat von Jens Hartmann:
Wie wäre es z.B. mit einer Schleife. Aber vieleicht solltest Du mal deinen Code zeigen, damit man das eventuell besser beurteilen kann. Mit einer Schleife könntest Du das z.B. in etwa so gestalten...

Delphi-Quellcode:
var
  iPos : integer;
begin
...
  while Pos('Suchetext', Text) > 0 do
    begin
      iPos := Pos('Suchtext', Text);
      ShowMessage(IntToStr(iPos));
    end;
Gruß Jens
Da hast du dir aber eine feine Endlosschleife gebastelt


Zitat von jonsen2.0.0.9:
ber wie finde ich heraus an welcher position (was x ist) der anfangsbuchstabe oder der endbuchstabe von dem gesuchten ist?
Pos() liefert dir diese Position! (Bitte in der Hilfe nachlesen)
Zitat von jonsen2.0.0.9:
und was ist wenn es das was ich suche mehr als einmal gibt?
Da musst du dir, wie Jens schon sagte, eine Schleife bauen. Schau dir mal PosEx an, dort kannst du noch einen Offset angeben.
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Suchen, vergleichen

  Alt 17. Mär 2010, 20:12
Sorry, ja da hast Du recht, da fehlte ja auch was...

Delphi-Quellcode:
var
  iPos : integer;
  Text : String;
begin
...
  Text := MyString;
  while Pos('Suchetext', Text) > 0 do
    begin
      iPos := Pos('Suchtext', Text);
      ShowMessage(IntToStr(iPos));
      Delete(Text,1,iPos+1);
    end;
Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
jonsen2.0.0.9

Registriert seit: 5. Dez 2009
67 Beiträge
 
Delphi 7 Personal
 
#8

Re: Suchen, vergleichen

  Alt 17. Mär 2010, 20:24
bisher sieht das so aus :

(is erstmal für die-staemme.de)

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var ipos:integer;
    form:string;
    temp:string;
begin
temp:='';
form:='';
ipos:=pos('Hauptgebäude (Stufe',memo1.Text);
ipos:=ipos+21;
if memo1.Text[ipos+1] in ['0'..'9'] then temp:=memo1.Text[ipos+1];
memo2.Text:=memo1.Text[ipos]+temp;
end;
gibt mir aber was falsches zurück...
und immer etwas anderes -.-

MFG
Jonsen
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#9

Re: Suchen, vergleichen

  Alt 17. Mär 2010, 22:16
Wenn Du noch nicht viel hast, dann häng doch mal kurz dein Projekt an. Dann kann man eventuelle sehen wo das Problem liegt. Was steh den z.B. im Memo etc.

Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
jonsen2.0.0.9

Registriert seit: 5. Dez 2009
67 Beiträge
 
Delphi 7 Personal
 
#10

Re: Suchen, vergleichen

  Alt 18. Mär 2010, 06:08
im grunde ist das was ich oben gepostet hab alles, da es ja noch nicht so funktioniert

sobald dieses stück geht, ist der rest einfach...


so im memo1 steht:

Hauptgebäude (Stufe 15) 2883 3060 2242 8 1:51:10 Rohstoffe verfügbar heute um 14:28 Uhr
Kaserne (Stufe 5) 635 584 286 2 0:35:54 Rohstoffe verfügbar heute um 07:48 Uhr
Stall (Stufe 3) 540 503 520 2 1:23:07 Rohstoffe verfügbar heute um 07:31 Uhr
Werkstatt (Stufe 1) 378 307 328 1 0:57:43 Rohstoffe verfügbar heute um 07:02 Uhr
Erste Kirche (Stufe 1) Gebäude vollständig ausgebaut
Schmiede (Stufe 11) 2796 2605 3050 16 5:57:24 Rohstoffe verfügbar heute um 14:27 Uhr
Versammlungsplatz (Stufe 1) Gebäude vollständig ausgebaut
Statue (Stufe 1) Gebäude vollständig ausgebaut
Marktplatz (Stufe 10) 1009 1135 1009 14 2:14:01 Rohstoffe verfügbar heute um 08:54 Uhr
Holzfäller (Stufe 17) 2220 3731 1659 8 2:40:05 Rohstoffe verfügbar heute um 16:07 Uhr
Lehmgrube (Stufe 16) 2977 2150 1250 10 2:13:24 Rohstoffe verfügbar heute um 14:45 Uhr
Eisenmine (Stufe 16) 2734 3170 2187 18 2:40:05 Rohstoffe verfügbar heute um 14:10 Uhr
Bauernhof (Stufe 10) 620 642 383 0:59:34 Rohstoffe verfügbar heute um 07:45 Uhr
Speicher (Stufe 10) 1007 880 555 1:12:55 Rohstoffe verfügbar heute um 08:54 Uhr
Versteck (Stufe 3) 98 117 98 0:24:56 Rohstoffe verfügbar heute um 06:12 Uhr
Wall (Stufe 7) 252 548 101 2 1:43:25 Rohstoffe verfügbar heute um 06:39 Uhr


eine liste der gebäude und deren stufe...dies möchte ich formatieren

erst suche ich das gebäude dann kommme ich durch die position auf die Stufe und trage dies dann in memo2 mit einem Link zu dem entsprechenden bild ein...

wenn ich aber nach Hauptgebäude suche und dann immer die gleichen stellen auslese...steht bei mir immer etwas anders
Angehängte Dateien
Dateityp: zip wandeln_112.zip (204,0 KB, 1x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:00 Uhr.
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