[Delphi] 1e char in een string vervangen

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Anoniem: 38764

Topicstarter
Weet iemand hoe ik van een string de 1e char kan veranderen.
Ik heb in een string een partnr 000001234 staan.
Nu moet de 1e nul vervangen worden door een N.

Acties:
  • 0 Henk 'm!

Anoniem: 18091

gewoon met een substring functie het eerste karakter weghalen. en dan een N d'r voor plakken.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 15-06 22:21

Creepy

Tactical Espionage Splatterer

of op deze manier: stringvar[1]:='N';

Zolanf je het stringtype van Delphi gebruikt kan dat niet misgaan (mits de lengte van de string 1 of groter is natuurlijk)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

Anoniem: 50813

In VB zou ik hetvolgende doen
code:
1
strBla = "N" & mid(strBla,2)

Ik weet dat Object Pascal ook een mid functie heeft, dus dan hoef je alleen maar even de syntax te checken...

Acties:
  • 0 Henk 'm!

  • bobo1on1
  • Registratie: Juli 2001
  • Laatst online: 18-05 17:57
code:
1
mid(sting,1) := 'N';

Zoiets?

Ik geloof eigenlijk dat het middle is, maar dat staat wel in de help :)

Impedance, a measure of opposition to time-varying electric current in an electric circuit.
Not to be confused with impotence.


Acties:
  • 0 Henk 'm!

  • RickN
  • Registratie: December 2001
  • Laatst online: 14-06 10:52
Come on guys, Creepy's suggestie is gewoon de goede, alle andere zijn gewoon hopeloos inefficient. String indexing is gewoon standaard in Delphi en dat is precies wat je hier nodig hebt.

edit:

Oei, 3 keer gewoon in 2 zinnen....

He who knows only his own side of the case knows little of that.


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 15-06 22:21

Creepy

Tactical Espionage Splatterer

String indexing zat al standaard in Pascal, dus ook in Delphi.

Het zou mis kunnen gaan als je multibyte strings gebruikt maar met het standaard string type van Delphi (var blaat: string) gaat dat allemaal prima
Op maandag 13 mei 2002 13:44 schreef bobo1on1 het volgende:
code:
1
mid(sting,1) := 'N';

Zoiets?

Ik geloof eigenlijk dat het middle is, maar dat staat wel in de help :)
Dit gaat niet werken. Mid() geeft nu een string van 1 teken lang terug, en een variabele aan de uitkomst van een functie toekennen gaat volgens mij mis, en als het wel lukt, wordt dus niet de originele string vervangen.

En mid, en middle o.i.d. bestaan in Delphi niet. Maak gebruik van de string indexing van Delphi of desnoods (maar waarom zou je zolang je niet met multibyte strings werkt) van delete en insert.

IN delphi Help -> Delphi help ->Index -> string handling routines geeft alle mogelijke functies om een string mee te bewerken (ook een lading functies die wel werken met multibyte strings).

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Paul
  • Registratie: September 2000
  • Laatst online: 16:17
Op maandag 13 mei 2002 15:16 schreef Creepy het volgende:
En mid, en middle o.i.d. bestaan in Delphi niet. Maak gebruik van de string indexing van Delphi of desnoods (maar waarom zou je zolang je niet met multibyte strings werkt) van delete en insert.
Wat er PRECIES met mid of middle bedoeld wordt weet ik niet, maar gezien de manier warop het hier gebruikt wordt, lijtk eht erop dat het hetzelfde doet als de copy functie.

"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock

Pagina: 1