Hollosi Information eXchange /HIX/
HIX CODER 1695
Copyright (C) HIX
2002-11-27
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 Re: Lamer kerdes (mind)  44 sor     (cikkei)
2 Re: Lamer kerdes (mind)  27 sor     (cikkei)
3 BCB6 lamer kerdes (mind)  3 sor     (cikkei)

+ - Re: Lamer kerdes (mind) VÁLASZ  Feladó: (cikkei)

Szia,
nem hinnem, hogy ego lenne. Mindenki volt kezdo, meg problemai mindenkinek
lehetnek.

> lenne egy nagyon láma kérdésem. Most ismerkedek a C++ Builder 6-tal és a C
> nyelvvel, és a Visual Basices, PHPs múltam miatt nyilvánvaló hogy a
> típusokkal van állandóan gondom. Most az kéne, hogy egy AnsiString-et át
> tudjak tenni char-ba. Hosszas doksi olvasgatás után rátalátam a
> static_cast-ra és társaira, szépen meg is írtam, hogy
>
> AnsiString StrToExplode;
>  ...
> StrToExplode = static_cast <char> (StrToExplode);
> ill.
> StrToExplode = (char) (StrToExplode);
>
> ami láthatóan teljesen helyes, de az a hibaüzenet, hogy
> E2031 Cannot cast from 'AnsiString' to 'char' .
>

A gond pont az, hogy a StrToExplode valtozod AnsiString tipusu, es ezert nem
tudja belerakni a char-ra alakitott ertekt.
tehat kell egy pl. Str_StrToExplode (itt a valtozo neveben is jelolgetem a
tipusat), es egy c_StrToExplode
ekkor:

AnsiString Str_StrToExplode;
char c_StrToExplode;
 ...
c_StrToExplode = static_cast <char> (Str_StrToExplode);
ill.
c_StrToExplode = (char) (Str_StrToExplode);

> A kérdés pedig az, hogy hogyan tudom akkor az AnsiString-ben található
> szöveget char-rá alakítani?
> előre is köszönöm, és főleg magánba küldjétek, mert gondolom elég égő, ha
> ilyen primitív kérdésekre adott válaszok megjelennek a listán :-)
>
> exta
>
Megy maganba is azert ;-)
Imre

 Trust is a weakness
+ - Re: Lamer kerdes (mind) VÁLASZ  Feladó: (cikkei)

[...]
>AnsiString StrToExplode;
> ...
>StrToExplode = static_cast <char> (StrToExplode);
>ill.
>StrToExplode = (char) (StrToExplode);
>
>ami láthatóan teljesen helyes, de az a hibaüzenet, hogy
>E2031 Cannot cast from 'AnsiString' to 'char' .
>
>A kérdés pedig az, hogy hogyan tudom akkor az AnsiString-ben található
>szöveget char-rá alakítani?

A char gyakorlatilag egy 8 bites szám, így legfeljebb egy karakter
férhet bele, ezért nem vagyok biztos benne, hogy tényleg ezt akarod.
C-ben char* -gal, azaz karakter(sorozat)ra mutató pointerrel szokták
reprezentálni a szövegeket, de C++ -ban inkább a standard könyvtárban
található string osztályt szokás használni.

A static_cast-ról azt írja a C++ könyv, hogy egymással kapcsolatban lévő
típusok közötti konverziót végez, pl. két, ugyanazon osztályhiearchiában
lévő mutatótípus, egész típus és felsoroló típus, vagy lebegőpontos és
egész típus közöttit. Ugyan nem tudom, hogy az AnsiString pontosan
milyen típus, de gyanítom, hogy nem egész, nem mutató és nem
lebegőpontos, ezért nem fog menni a konverzió.

				Bye,NAR
+ - BCB6 lamer kerdes (mind) VÁLASZ  Feladó: (cikkei)

Köszonöm mindeki segitsegét a subj-beli dologban, sokat jelentett.

Exta

AGYKONTROLL ALLAT AUTO AZSIA BUDAPEST CODER DOSZ FELVIDEK FILM FILOZOFIA FORUM GURU HANG HIPHOP HIRDETES HIRMONDO HIXDVD HUDOM HUNGARY JATEK KEP KONYHA KONYV KORNYESZ KUKKER KULTURA LINUX MAGELLAN MAHAL MOBIL MOKA MOZAIK NARANCS NARANCS1 NY NYELV OTTHON OTTHONKA PARA RANDI REJTVENY SCM SPORT SZABAD SZALON TANC TIPP TUDOMANY UK UTAZAS UTLEVEL VITA WEBMESTER WINDOWS