Ĺadny brzuch
Kod W Delphi 7 Personal:
if OknoOtworz.Execute then begin Nazwa_pliku:= OknoOtworz.FileName; Edytor.Lines.LoadFromFile(Nazwa_pliku); end;
Jak to powinno wyglądać w C++ Builderze ?
Może lepiej się nauczyć?if (OknoOtworz->Execute()) { Nazwa_pliku = OknoOtworz->FileName.c_str(); Edytor->Lines->LoadFromFile(Nazwa_pliku); }
Użytkownik Cyrkiel edytował ten post 17 lipiec 2006, 20:48
Dzieki ale wytłumacz mi dlaczego jest dodane c.str() ? Co ono ma robić?
Dzieki ale wytłumacz mi dlaczego jest dodane c.str() ? Co ono ma robić? Ponieważ "Nazwa_pliku" jest typu "char*", a zmienna "OknoOtworz->FileName" typu AnsiString, więc trzeba wyciągnąć "char*" z tego - temu służy c_str() ;)
Mam taki kod:
void __fastcall TForm1::Zapisz1Click(TObject *Sender) { if (char* Nazwa_pliku="") { Zapiszjako1Click(Sender); } else { Edytor->Lines->SaveToFile(Nazwa_pliku); } } //--------------------------------------------------------------------------- void __fastcall TForm1::Zapiszjako1Click(TObject *Sender) { if (OknoZapisz->Execute()) { char* Nazwa_pliku = OknoZapisz->FileName.c_str(); Zapisz1Click(Sender); } }
Wszystko sie ładnie kompiluje tylko, że jak włączam program idaje opcje zapisz albo zapisz jako to po podaniu nazwy i naciśnięciu ok znowu mi się pojawia okno zapisu, dlaczego?
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
if OknoOtworz.Execute then begin Nazwa_pliku:= OknoOtworz.FileName; Edytor.Lines.LoadFromFile(Nazwa_pliku); end;
Jak to powinno wyglądać w C++ Builderze ?
Może lepiej się nauczyć?if (OknoOtworz->Execute()) { Nazwa_pliku = OknoOtworz->FileName.c_str(); Edytor->Lines->LoadFromFile(Nazwa_pliku); }
Użytkownik Cyrkiel edytował ten post 17 lipiec 2006, 20:48
Dzieki ale wytłumacz mi dlaczego jest dodane c.str() ? Co ono ma robić?
Dzieki ale wytłumacz mi dlaczego jest dodane c.str() ? Co ono ma robić? Ponieważ "Nazwa_pliku" jest typu "char*", a zmienna "OknoOtworz->FileName" typu AnsiString, więc trzeba wyciągnąć "char*" z tego - temu służy c_str() ;)
Mam taki kod:
void __fastcall TForm1::Zapisz1Click(TObject *Sender) { if (char* Nazwa_pliku="") { Zapiszjako1Click(Sender); } else { Edytor->Lines->SaveToFile(Nazwa_pliku); } } //--------------------------------------------------------------------------- void __fastcall TForm1::Zapiszjako1Click(TObject *Sender) { if (OknoZapisz->Execute()) { char* Nazwa_pliku = OknoZapisz->FileName.c_str(); Zapisz1Click(Sender); } }
Wszystko sie ładnie kompiluje tylko, że jak włączam program idaje opcje zapisz albo zapisz jako to po podaniu nazwy i naciśnięciu ok znowu mi się pojawia okno zapisu, dlaczego?