AGB  ·  Datenschutz  ·  Impressum  







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

String-Problem

Ein Thema von hansklok · begonnen am 31. Aug 2006 · letzter Beitrag vom 31. Aug 2006
Antwort Antwort
hansklok

Registriert seit: 14. Apr 2004
Ort: Karlsruhe
318 Beiträge
 
Delphi 2010 Architect
 
#1

String-Problem

  Alt 31. Aug 2006, 17:33
Hallo,

ich habe ein Record in einer Art Adress-Datenbank, in dem eine Variable "Ort" vom Typ String[50] deklariert ist. Nun wird in dieser Variable die PLZ und der Ortsname gespeichert. Nun habe ich in meinem Programm eine Suche eingebaut. Wird in ein Edit-Feld eine 5 stellige PLZ eingegeben, so wird zunächst die PLZ aus der Datensatzvariablen "Ort" extrahiert und zwar so:

Delphi-Quellcode:
var
  PLZ: String;
begin
PLZ:= Copy(fMain.DatenSatz.Ort, 0,5); {Funktion extrahiert alle Buchstaben von der 0.-5. Position}
Caption:= PLZ;
end;
Wie gesagt, das funktioniert.

Der Ortsname beginnt demnach an Position 6 (mit Leerzeichen). Nun soll folgendes geschehen: Vom Ortsnamen, den der User ins Suchfeld eingibt, soll zunächst die Länge (Length) des Strings ermittelt werden. Nun soll eine Funktion, die ich noch nicht kenne (auf die Erkenntnis warte ich ja nun) nach Ortsnamen aber Position 6 des Datensatz.Ort suchen. Mir gelingt dies nicht, da ja immer noch die restlichen Zeichen des String[50] übrigbleiben, versteht Ihr?

Ich hatte Folgendes versucht, hat aber nicht funktioniert:

Delphi-Quellcode:
Read(fMain.Datei, fMain.DatenSatz);
PLZ:= Copy(fMain.Datensatz.Ort, 6, 50-6 - Length(leSuchbegriff.Text));
50-6 bedeutet, dass der String aus 50 Zeichen besteht und leider auch so gespeichert wird und 50-6 bedeutet, dass ja die PLZ noch abgezogen werden muss. Minus die Länge das Ortsnamen um auf die Position des letzten Buchstaben des Ortsnamen im besagten String[50] zu kommen. Aber es funktioniert einfach nicht.

Ich hoffe Irgendjemand hat das Problem verstanden, ich weiß, dass es sehr unverständlich beschrieben ist. Es geht darum, dass z.B. jemand in ein Suchfeld Berlin eingibt und wir gehen mal davon aus, dass Berlin in der Datenbank gespeichert ist. Nun muss also aus dem Datensatz und dessen Variable Ort der Ortsname extrahiert werden:

z.B. "12209 Berlin______________________________________"

____: Diese Zeichen müssten sozusagen entfernt werden und natürlich die PLZ und das Leerzeichen vor dem Ortsnamen. Das Ganze müsste nun in einer Stringvariable gespeichert werden, die auf die Gleichheit mit dem Ortsnamen im Suchfeld zu prüfen wäre. Bitte gebt mir nen Tipp, wie ich das hinbekommen kann.

Danke, MfG

hansklok
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: String-Problem

  Alt 31. Aug 2006, 17:51
Sollte doch so gehen:
Delphi-Quellcode:
Read(fMain.Datei, fMain.DatenSatz);
Ort:= Copy(fMain.Datensatz.Ort, 6,Length(leSuchbegriff.Text));
Aus der Hilfe:
function Copy(S; Index, Count: Integer): string;

oder
Delphi-Quellcode:
Read(fMain.Datei, fMain.DatenSatz);
Ort:= Trim(Copy(fMain.Datensatz.Ort, 6,50));
Trim entfernt die Leerzeichen vor und hinter dem String.



Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
hansklok

Registriert seit: 14. Apr 2004
Ort: Karlsruhe
318 Beiträge
 
Delphi 2010 Architect
 
#3

Re: String-Problem

  Alt 31. Aug 2006, 17:58
... Danke, funktioniert Super!

MfG

hansklok
  Mit Zitat antworten Zitat
Antwort Antwort


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:51 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