Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi string schreibweise (https://www.delphipraxis.net/96546-string-schreibweise.html)

vanilla 26. Jul 2007 12:15


string schreibweise
 
hallo

wie schreibt man einen string, der mit einer festen zeichenkette anfängt aber unterschiedlich aufhört
also zum beispiel abc0, abc1, abc2

wie ist die syntax dazu :roll:

s-off 26. Jul 2007 12:21

Re: string schreibweise
 
Hallo,

Deine Fragestellung ist mir ehrlich gesagt nicht klar.

Was meinst Du mit 'wie schreibt man einen String'?

Relicted 26. Jul 2007 12:23

Re: string schreibweise
 
huhu!

wenn ich das richtig verstanden habe sollte dir das hier weiterhelfen..
( kommandozeilenprogramm )

Delphi-Quellcode:
const
  s = 'abc';
var
  i : integer;

begin
  for i := 0 to 1337 do
  begin
    writeln( s + IntToStr( i ) );
  end;
  readln;
end.
gruß
reli

vanilla 26. Jul 2007 12:31

Re: string schreibweise
 
hi,

also ich möchte eigentlich in einer Datei nach einem String suchen und zwar kenn ich nur dessen anfang wie er endet also was für zeichenketten dann noch folgen ist mir wurscht.

ich weiss jetzt nicht wie die notation dazu ist dass heißt wie ich diesen string angeben kann 'abc'+* ????????

angos 26. Jul 2007 12:36

Re: string schreibweise
 
Zitat:

Zitat von vanilla
hi,

also ich möchte eigentlich in einer Datei nach einem String suchen und zwar kenn ich nur dessen anfang wie er endet also was für zeichenketten dann noch folgen ist mir wurscht.

ich weiss jetzt nicht wie die notation dazu ist dass heißt wie ich diesen string angeben kann 'abc'+* ????????


Du möchtest in einer Datei nach einem String 'abc' suchen. Folgende Datei sei gegeben

Delphi-Quellcode:
var
  DateiText: String;
  PosText: Integer;
...

  DateiText :=adfoheosaf w gwejü giwjüäabcdksfjpogfjaog
Jetzt willst du die Position von 'abc' herausfinden. Dazu nutzt du die FUnktion
Delphi-Quellcode:
  PosText := pos('abc', DateiText);
Die FUnktion sollte die bei oben gezeigtem Text als Position die Zahl 26 zurückliefern

Ich hoffe das war hilfreich

Gruß

vanilla 26. Jul 2007 13:08

Re: string schreibweise
 
also danke erstmal für die antworten

angos, diese fkt kenne ich schon, sie hilft mir aber leider nicht.

meine daten sind in einer inidatei und da gibt es die fkt readsections mit dem ich schlüsselwörter auslesen kann.

ich möchte jetzt überprüfungen ob es in dieser inidatei ein schlüsselwort oder schlüsselwörter existieren die mit 'abc' ANFANGEN wenn jaaa
ich will sie alle auslesen später abc1, abc2, abc3 usw.

Relicted 26. Jul 2007 13:11

Re: string schreibweise
 
Zitat:

Die Methode gibt an, ob die INI-Datei einen Abschnitt enthält.

Delphi-Syntax:

function SectionExists (const Section: String): Boolean;

C++ Syntax:

bool __fastcall SectionExists(const AnsiString Section);

Beschreibung

Mit SectionExists kann festgelegt werden, ob die in FileName angegebene INI-Datei einen Abschnitt enthält.

Der String Section bezeichnet den INI-Dateiabschnitt, dessen Vorhandensein von SectionExists festgestellt wird.

SectionExists gibt einen booleschen Wert zurück, der angibt, ob der fragliche Abschnitt enthalten ist.
Zitat:

Die Methode signalisiert, ob die INI-Datei einen bestimmten Schlüssel enthält.

Delphi-Syntax:

function ValueExists (const Section, Ident: String): Boolean;

C++ Syntax:

bool __fastcall ValueExists(const AnsiString Section, const AnsiString Ident);

Beschreibung

Mit ValueExists kann festgelegt werden, ob in der mit FileName bezeichneten INI-Datei ein bestimmter Schlüssel vorhanden ist.

Der String Section bezeichnet den Dateiabschnitt, in dem nach dem Schlüssel gesucht werden soll.

Der String Ident ist der Name des Schlüssels, nach dem gesucht werden soll.

ValueExists gibt einen booleschen Wert zurück, der anzeigt, ob der Schlüssel im entsprechenden Abschnitt vorhanden ist.

vanilla 26. Jul 2007 13:18

Re: string schreibweise
 
soweit bin ich auch

wie soll ich jetzt den string (section) angeben, dessen vorhandensein überprüft werden soll ?

iniFile.SectionExists('abc'+*); wie geht daass?? das ist doch genau frageee

Tyrael Y. 26. Jul 2007 13:25

Re: string schreibweise
 
Du kannst mit TIniFile umgehen und kennst die Funktion Pos?
Na da hast du doch schon alles um einen Nagel in ein Stück Holz zu schlagen.
Jetzt kräftig ausholen und....

Spass beiseite.

Du gehst deine Sections durch.
Speicherst die jeweilige Section in eine temporäre Variable.
Prüfst mit Pos, ob der Anfang des Strings deinem Suchstring entspricht.
...und machst dann was du vorhattest.

Relicted 26. Jul 2007 13:26

Re: string schreibweise
 
gerade war noch die rede von zahlen am ende der section... wenn du nun meinen ersten post mit meinem letzten kombinierst solltest du die lösung haben..

Zitat:

Diese Methode liest die Namen aller Abschnitte einer INI-Datei in eine String-Liste ein.

Delphi-Syntax:

procedure ReadSections(Strings: TStrings); virtual; abstract;

C++ Syntax:

virtual void __fastcall ReadSections(Classes::TStrings* Strings) = 0;

Beschreibung

Mit ReadSections können die Namen aller Abschnitte der INI-Datei in eine String-Liste eingelesen werden.

Der Parameter Strings bezeichnet das String-Objekt, in dem die ermittelten Namen gespeichert werden sollen. Er kann auf ein von TStrings abgeleitetes Objekt zeigen oder auf eine Komponenteneigenschaft (z.B. Items bei einer TListBox-Komponente).
wenn die irgendwas anderes enthalten dann benutz die readsections und frag mit "pos" ab

Meflin 26. Jul 2007 13:30

Re: string schreibweise
 
Und im Zweifelsfall gibts dann ja auch noch Bei Google suchenRegular Expressions :mrgreen:


vanilla 26. Jul 2007 13:32

Re: string schreibweise
 
okaaay vielen dank erstmal ich probiere jetzt

cruiser 26. Jul 2007 13:32

Re: string schreibweise
 
um es mal angewandt zu notieren:

Delphi-Quellcode:
i := 0; // oder 1 wenn die erste section die ID 1 hat
while SectionExists('abc'+IntToStr(i)) do
begin

// Daten der Section auswerten

Inc(i);
end;
greetz

PS: Wenn die Daten ein festes Format haben wär aber evtl. eine Umstellung auf Speichern/Laden via binary-files und Streams oder file of record günstiger


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz