Avatar billede landsbytossen Nybegynder
05. september 2001 - 13:44 Der er 5 kommentarer og
3 løsninger

streng til pchar

Konverteringsproblem:
Har en variabel sA (:streng) og en anden sP (:pchar).
sA (altså strengen) får en værdi, der nu skal over i en pchar variabel (sP) til eksport.
Har prøvet StrPcopy(sP,sA), compileren spiser det, men programmet crasher med et brag.
sP indeholder ingen værdi, men kommer som en tom var værdi (i VB ByRef) fra en anden procedure. StrPcopy(sP,sA) skulle således opdatere sP i den kaldende subrutine.
Noget skummelt med StrPcopy(sP,sA), når sP er tom/værdiløs?

Avatar billede ziron Nybegynder
05. september 2001 - 13:46 #1
prøv med:

sp := PChar(sa);

/ZIRON
Avatar billede borrisholt Novice
05. september 2001 - 13:58 #2
eller for bedere performance så brug

sp:= pointer(s);

Jens B
Avatar billede wired Nybegynder
05. september 2001 - 14:00 #3
Jeg formoder at du skal begrænse din PChar, at det bare er en pointer til en/flere karakter og derfor ikke ved hvor den slutter (#0). Prøv evt. noget i retning af:

const TempString: array[0..12] of Char = \'\'#0;
var sp: PChar;
...
sp := @TempString;

Hermed har du bestem at sp er 12 char og lavet en terminering (#0). Herefter kan du lave din StrPcopy eller hvad det var du ville.
Avatar billede borrisholt Novice
05. september 2001 - 14:02 #4
du skal selvfølgelig skrive

sp := pointer(sp);

JEns B
Avatar billede landsbytossen Nybegynder
05. september 2001 - 14:07 #5
OK, Nu crasher programmet ikke mere.
Men der returneres mærkelige tegn i sp i den kaldene subrutine.
Må lige tygge lidt i jeres forslag :-)
Det med pointer er nyt for mig :--)
Avatar billede mukke Nybegynder
05. september 2001 - 14:08 #6
HVis du skal bruge en pchar så brug som Ziron sagde pchar(sa).

en pchar er #0-termineret, mens en streng ikke er. Derfor vil pointer(sa) såvidt jeg kan se give store problemer.
Avatar billede borrisholt Novice
05. september 2001 - 14:19 #7
mukke >> der i tager du helt fejl .. prøv det ... Kompiler lordet til Assembler og se forskellen !

Jens B
Avatar billede landsbytossen Nybegynder
06. september 2001 - 08:39 #8
God morgen,
Den streng jeg modtager i min basic applikation fra pchar i Delphi, består af tegn som ô4$ eller á0$ osv. Hvis jeg ser på pchar i min delphi applikationer indeholder den den rigtige værdi. Har prøvet at anvende pointers. Nogen forslag.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester