AGB  ·  Datenschutz  ·  Impressum  







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

Buchstabensuche !aller! Felder

Ein Thema von Lotus · begonnen am 14. Sep 2007 · letzter Beitrag vom 17. Sep 2007
Antwort Antwort
Seite 1 von 3  1 23      
Lotus

Registriert seit: 26. Feb 2007
85 Beiträge
 
Delphi 7 Personal
 
#1

Buchstabensuche !aller! Felder

  Alt 14. Sep 2007, 18:42
Folgendes Problem.. ich moechte eine Suchfunktion machen (nur für Buchstaben).. diese funktion soll mir alle Stellen (Felder) von a liefern an denen der Buchstabe = dem gesuchtem ist!
ich hab dann diese function geschrieben er meint dauernd fehler aber ich erkenne ihn nirgends!!!


Delphi-Quellcode:
function suche2(buchstabe:string):integer;
var i2:integer;
begin
for i2:=1 to nf do begin
  if a[i2] <> buchstabe[1] then Inc(i2) // <--- Hier soll Fehler sein
  else begin
  suche2:=suche2 + i2 + ',';
  Inc(i2);
  end
  end
end;

hoffe ihr könnt mir helfen
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#2

Re: Fehler im Code.. aber wo?

  Alt 14. Sep 2007, 18:44
In for-Schleifen darfst Du die Zählvariable nicht innerhalb der Schleife ändern.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Fehler im Code.. aber wo?

  Alt 14. Sep 2007, 18:46
Du könntest die Schleife aber z.B. in eine While-Schleife umbauen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#4

Re: Fehler im Code.. aber wo?

  Alt 14. Sep 2007, 18:51
Dann wird es aber spätestens an der Zeilesuche2:=suche2 + i2 + ','; scheitern
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Fehler im Code.. aber wo?

  Alt 14. Sep 2007, 18:52
Ja, er sollte sich mal die Grundlagen von Delphi ansehen.
Markus Kinzler
  Mit Zitat antworten Zitat
Thorben_Ko

Registriert seit: 8. Jun 2007
86 Beiträge
 
#6

Re: Fehler im Code.. aber wo?

  Alt 14. Sep 2007, 18:54
sucht mal in der OH nach Pos und nach PosEx

gruss Thorben
  Mit Zitat antworten Zitat
Lotus

Registriert seit: 26. Feb 2007
85 Beiträge
 
Delphi 7 Personal
 
#7

Re: Fehler im Code.. aber wo?

  Alt 14. Sep 2007, 18:55
hm.. wie kann ich denn sonst "alle" werte überprüfen.. also nehmen wir mal an ich habe 5 Felder
1 A
2 V
3 A
4 A
5 S

und ich will jetzt nach A suchen.. jetzt möchte ich das er mir ausgibt 1, 3 und 4
das wollte ich mit dieser funktion erreichen.. mir faellt jetzt aber nix ein wie das funktionieren würde
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#8

Re: Fehler im Code.. aber wo?

  Alt 14. Sep 2007, 18:57
Entweder ein String als Rückgabe, dann geht es so, wie Du gecodet hast, oder z.B. eine TList als Var-Parameter übergeben.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#9

Re: Fehler im Code.. aber wo?

  Alt 14. Sep 2007, 18:58
Nimm diese Funktion und rufe diese in einer For_Schleife auf oder in einem repeat...until Block auf :
Delphi-Quellcode:
function PosN(Substring, Mainstring: string; n: Integer): Integer;
begin
  if Pos(substring, mainstring) = 0 then begin
    posn := 0;
    Exit;
  end else begin
    if n = 1 then posn := Pos(substring, mainstring)
    else begin
      posn := Pos(substring, mainstring) + posn(substring, Copy(mainstring,
         (Pos(substring, mainstring) + 1), Length(mainstring)), n - 1);
    end;
  end;
end;
Diese Funktion gibt Dir die Position des Suchstrings aus. Wird der Suchstring nicht gefunden ist das Ergebnis 0.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Lotus

Registriert seit: 26. Feb 2007
85 Beiträge
 
Delphi 7 Personal
 
#10

Re: Fehler im Code.. aber wo?

  Alt 14. Sep 2007, 19:08
hm.. als string wiedegeben? is das nich ein wiederspruch in sich weil doch das feld integer ist.. oder kann ich da sagen inttostr?
hm.. mit Tlist habe ich noch nie gearbeitet.. delphi hilfe war auch nich gerade überhaeuft mit infos.. könntet ihr mir da vllt ein paar infos zuschieben?

@Rwarnecke
danke für diesen code.. allerdings verstehe ich diesen nicht ganz und möchte ihn daher nicht blind benutzen.. mir wäre es lieber wenn ich alles genau verstehe.. allerdings faengts schon bei sub und mainstring an...
  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 18:36 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