Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TStringList, String bearbeiten (https://www.delphipraxis.net/21414-tstringlist-string-bearbeiten.html)

shareholder 2. Mai 2004 17:50


TStringList, String bearbeiten
 
ich möchte das 2. zeichen im 2 string aus meinestrings löschen

Delphi-Quellcode:
meinestrings[2] := delete(meinestrings[2], 2, 1);
aber es tritt der fehler auf:

Konstantenobjekt kann nicht als Var-Parameter weitergegeben werden.

Ansich ist der Fehler ja klar, aber welche Alternative gibt es?

Ich möchte möglichst keine temporären Variablen anlegen.

toms 2. Mai 2004 17:56

Re: TStringList, String bearbeiten
 
Zitat:

meinestrings[2] := delete(meinestrings[2], 2, 1);
Delete() ist keine Funktion sondern eine Prozedur, liefert also keinen Rückgabewert.

shareholder 2. Mai 2004 18:14

Re: TStringList, String bearbeiten
 
ja super, aber wenn ich

delete(meinestrings[2], 2, 1);

schreibe, hab ich genau das gleiche problem !

mirage228 2. Mai 2004 18:18

Re: TStringList, String bearbeiten
 
Zitat:

Zitat von shareholder
ja super, aber wenn ich

delete(meinestrings[2], 2, 1);

schreibe, hab ich genau das gleich problem !

Das geht nicht, weil MeineStrings(.Strings)[2] Eigenschaft von TStrings ist. Es handelt sich bei Eigenschaften nicht direkt um Variablem, daher kannst du diese nicht als Referenz-Parameter der Delete-Prozedur übergeben.

Du musst wohl mit einer Hilfsvariable arbeiten.

mfG
mirage2228

shareholder 2. Mai 2004 18:28

Re: TStringList, String bearbeiten
 
danke, hat funktioniert. :)

eine frage habe ich noch:

ich habe 3 strings:

meineliste[0] := 'Hund';
meineliste[1] := 'Katze'; // <- soll gelöscht werden
meineliste[2] := 'Maus';

um einen string zu löschen schreibe ich
meineliste.delete(1);

hat 'maus' danach den index 1 ?

Jens Schumann 2. Mai 2004 18:39

Re: TStringList, String bearbeiten
 
Zitat:

Zitat von shareholder
danke, hat funktioniert. :)

eine frage habe ich noch:

ich habe 3 strings:

meineliste[0] := 'Hund';
meineliste[1] := 'Katze'; // <- soll gelöscht werden
meineliste[2] := 'Maus';

um einen string zu löschen schreibe ich
meineliste.delete(1);

hat 'maus' danach den index 1 ?

Ja
[Edit]Ich gehe davon aus, dass meineliste ein Nachfahre von TStrings ist[/Edit]

shareholder 2. Mai 2004 18:55

Re: TStringList, String bearbeiten
 
Ok, ich danke dir ! :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:52 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