MemoryStream in Variable/String speichern
-
Hallo,
wie kann ich einen MemoryStream in eine Variable/String speichern?
Also ich hole einen HTML Quelltext von einer Seite die ich gern Versteckt speichern will und nicht in einem Memo ablegen. Geht das Überhaupt? Hier mein Code:TMemoryStream *InStream = new TMemoryStream(); IdHTTP1->Request->ContentType="text/html"; IdHTTP1->Get("http://"+HOST+":"+PORT+"/LOGIN?nick="+Edit1->Text+"&password="+Edit2->Text+"", InStream); InStream->Position=0; Memo1->Lines->LoadFromStream(InStream);
MFG Fregger
-
TStringList *List = new TStringList(); List->LoadFromStream(InStream);
Löschen nicht vergessen...
-
Hallo,
danke Linea, mit Stringliste hatte ich es auch schon versucht gehabt, nur leider kann ich dann nicht die Stringlliste in einem Ansistring speichern.[C++ Fehler] Unit1.cpp(99): E2034 Konvertierung von 'TStringList *' nach 'AnsiString' nicht möglich
Gibt es eine andere Möglichkeit?
Hier nochmal mein Code mit der Stringliste:
TMemoryStream *InStream = new TMemoryStream(); IdHTTP1->Request->ContentType="text/html"; IdHTTP1->Get("http://"+HOST+":"+PORT+"/LOGIN?nick="+Edit1->Text+"&password="+Edit2->Text+"", InStream); InStream->Position=0; TStringList *List = new TStringList(); List->LoadFromStream(InStream); delete InStream; AnsiString Text = List;
MFG Fregger
-
Schau dir doch mal die Eigenschaften von TStringList in der Hilfe an. Da gibt es z.Bsp. TStringList::Text
AnsiString Text = List->Text;
@Linnea
Ich nehme für solche lokal verwendeten Pointer boost::scoped_ptr. Da kann ich dann auf das delete verzichten, da es ja automatisch beim Verlassen des Scope erfolgt.
-
Hehe danke, funktioniert jetzt
MFG Fregger
-
... List->Text = IdHTTP->Get(URL); ...