
//Plik nagłówkowy np. Unit1.cpp
//------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TStringList *Lista = new TStringList;
Lista->Add(HTTP1->Get(Edit1->Text));
}
//------------------------------------------void __fastcall TForm1::ClientSocket1Read(TObject *Sender, TCustomWinSocket *Socket)
{
TStringList *Lista = new TStringList;
Lista->Add(Socket->ReceiveText());
//....
}



Cyfrowy Baron napisał(a):nie da się znaków Unicode zapisać w zmiennej AnsiString, gdyż jest to zmienna 8-bitowa.

shycat napisał(a): natomiast, jezeli kod jest wiekszy, pobierany jest tylko kawalek...
void __fastcall TForm1::ClientSocket1Read(TObject *Sender,
TCustomWinSocket *Socket)
{
Memo1->Lines->Add(Socket->ReceiveText());
}

AnsiString to klasa, a nie jakaś zmienna 8-bitowa! Typem 8-bitowym to może być typ char, ale nie klasa do przechowywania tekstu. A jeśli już mowa o unikodzie, to nikt nie powiedział, że jest to zawsze utf-16 (natywnie w windows). W protokole HTTP, jeśli chodzi o unikod, najczęściej (o ile nie jedynie) używane jest kodowanie utf-8, z racji oszczędności pamięci i zgodności z kodowaniem ASCII. AnsiString jest w stanie przechować unikod w tym kodowaniu, choć nie jest w stanie w pełni z nim współpracować - indeksowanie, obliczanie długości itd. Może pełnić rolę kontenera i nic więcej.
|
AnsiString ~2^31 characters 4 bytes to 2GB 8-bit (ANSI) characters, DBCS ANSI, MBCS ANSI, etc. |


tak jak pisalam, wczytywalam testowy kod strony wygenerowany w PHP
shycat napisał(a):Co do laczenia... kod ktory podales niczego nie laczy... rownie dobrze mozna wczytac wynik do zmiennej... - oczywscie sprawdzilam to i bez zmian, czy do memo czy do zmiennej..


to logiczne że zmienna odp zawierała by tylko ostatni fragment. Memo1->Lines->Add u mnie łączy te fragmenty, i mam całość strony. Podaj może jakiś sensowny kawałek kodu, skąd osoba która chce Ci pomóc ma wiedzieć jak to u Ciebie wygląda.

dobrze, dobrze, nic z tego nie wynika, problemu nie rozwiązałeś.
może przechowywać nawet zmienne 32-bitowe, ale nie jest w stanie przechować znaków Unicode.
przykład: http://cyfbar.republika.pl/unicode.htm
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2"> [...]
</head><body>˙ţ<�h�t�m�l�>�
�
�
�
[...]
http://pl.wikipedia.org/wiki/Unicode. Zajrzyj do źródeł strony, zwróć uwagę na atrybut charset i na wszelkie znaki z ogonkami (np. w hex edytorze). Ba, spróbuj ją załadować do AnsiStringa!
shycat napisał(a):zeby uprzedzic ew. kolejne pytania i dziwne tezy

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 3 gości