[ komplikator @ 22.07.2013. 12:09 ] @
Radim nešto sa CPort kontrolom u zadnjoj verziji i Delphi XE4 I imam problemčić koji sam nekad riješavao drugačije.
Važna su mi StartString i StopString svojstva kontrole koja punim dinamički.

Ukoliko kontroli TDataPacket u svojstvima kažem da je startstring #03#02, a stopstring #13#10 sve radi ok.
No ukoliko imam editbox u kojega upišem istu stvar i napunim njegovo svojstvo text u TDataPacket, tada mi string nije #03#02 nego je '#03#02' tj. ne prepozna charove. Ima li tko ideju kako to konvertirati?
Prije par godina sam to riješavao tako što sam napisao svoje strtohex i hextostr funkcije koje bi gradile stingove na tom principu no sad to elim riješiti kako spada.
Tip na svojstvu kontrole je string, kao i na textbox-u. ko nedostaje mi to parsiranje iz #nn oblika u char.

Hvala!
[ djoka_l @ 22.07.2013. 13:03 ] @
Citat:
Prije par godina sam to riješavao tako što sam napisao svoje strtohex i hextostr funkcije koje bi gradile stingove na tom principu no sad to elim riješiti kako spada.


Ne znam zašto nisi zadovoljan rešenjem koje radi? Ne samo da radi, nego tako i treba da se uradi.

Kao rezervna opcija, znake #03 i #02 možeš da uneseš u tekst tako što držiš ALT taster i otkucaš 03 (ili 02). Što se tiče #13 i #10, tu može da bude problem jer se sekvenca može interpretirati ili kao da je unet znak CR ili kao CR pa da se okine akcija koja je default i da se pređe u novi red.
[ savkic @ 22.07.2013. 13:03 ] @
> No ukoliko imam editbox u kojega upišem istu stvar i napunim njegovo svojstvo text u TDataPacket, tada mi string nije #03#02 nego je '#03#02' tj. ne prepozna charove.
> Ima li tko ideju kako to konvertirati?

To nisu charovi nego stringovi. Moraš isparsovati taj tekst i pretvoriti u charove, npr. Chr(StrToInt(Copy, Edit.Text, 2, 2));
[ komplikator @ 22.07.2013. 13:09 ] @
Upravo tako, treba sve odparsirati, mada mi nije jasno zašto delphi pravilno može sam konvertirati vrijednost #03#02 svojstva na kontroli, a ne može ako text svojstvo npr. tedit-a. kada su i na kotroli i u teditu tipa string?
Kako god, nije vrijedno vremena, zadržat ću svoj raniji sistem sa hex vrijednostima.
Hvala dečki!
[ savkic @ 22.07.2013. 15:33 ] @
> Upravo tako, treba sve odparsirati, mada mi nije jasno zašto delphi pravilno može sam konvertirati vrijednost #03#02 svojstva na kontroli, a ne može ako text
> svojstvo npr. tedit-a. kada su i na kotroli i u teditu tipa string?

Delphi (object inspector) to ne radi, to radi sama kontrola tj. njen properti editor ili setter metoda.
[ komplikator @ 22.07.2013. 20:17 ] @
Možda proeprtyeditor, vidiš nisam se sjetio pročačkati po drugim unitima, sigurno postoji i nekoliko property editora.
Setera nema, property radi read i write direktno u polje tj. private varijablu tipa string. Zato nisam ni imao objašnjenje što se to dešava ako nema konverzije.