Mieczo Opublikowano 6 Października 2005 Zgłoś Opublikowano 6 Października 2005 1. Nie znam sie na assamblerze wiec przy debugowaniu nie za dużo rozumiem z tych offsetów Dlaczego podczas pokazania tej definicji w ShowMessage i wcisnieciu ok niespodziewanie aplikacja sie zamyka (bez żadnych błędów) tylko borland przy debugowaniu coś krzyczał:S (na dole zamieszczam kod) 2. Drugi problem dotyczy tego jak zrobić żeby wczytywał mi się tekst z kilku lini zamiast tylko 1 ??? i Żeby dało rade go wypisać ? PS. Słyszałem że można to wyświetlać w Memo ale nie zabardzo wiem jak to oprogramować #include <vcl.h> #include <iostream.h> #pragma hdrstop #include "Unit7.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm7 *Form7; //--------------------------------------------------------------------------- __fastcall TForm7::TForm7(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm7::Button1Click(TObject *Sender) { FILE *plik; char bufor[50]; plik=fopen("definicje/poleprostokata.txt","rt"); if ( plik==NULL ){ ShowMessage("Nie znalazlem pliku"); } fgets(bufor,100,plik); ShowMessage(bufor); fclose(plik); } Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 6 Października 2005 Zgłoś Opublikowano 6 Października 2005 2. Drugi problem dotyczy tego jak zrobić żeby wczytywał mi się tekst z kilku lini zamiast tylko 1 ??? i Żeby dało rade go wypisać ? PS. Słyszałem że można to wyświetlać w Memo ale nie zabardzo wiem jak to oprogramować 1686113[/snapback] Memo1->Lines->LoadFromFile("plik") Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Polar Opublikowano 6 Października 2005 Zgłoś Opublikowano 6 Października 2005 ...niespodziewanie aplikacja sie zamyka (bez żadnych błędów)... 1. Są dwa powody: - do tablicy zostaje wpisanych wiecej wartości niz można - jeśli plik nie istnieje to i tak trzeba albo wyjść z tej funkcji return; ( tak jak ja zrobiłem ) albo umieścic ewentulane operacje na pliku w else //... Zdecydowanie prościej i bezpieczniej to zrobić wykorzystując biblioteke standardową C++. #include <fstream.h>//.....void __fastcall TForm1::Button1Click(TObject *Sender){ const N=100; char bufor[N]={0}; ifstream plik("c:\\plik.txt", ios::binary); if (!plik) { ShowMessage("Nie znalazlem pliku"); return; } plik.read(bufor,N); plik.close(); Memo1->Text = bufor;} Przykład mierny bo tak sie tego tak na stałe raczje nie robi, ale dużo wyjasnia. Dzięki odczytowi binarnemu zachowujemy w memo formatowanie takie jak w pliku. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Artur.M Opublikowano 6 Października 2005 Zgłoś Opublikowano 6 Października 2005 A powiedz mi towarzyszu czemu twój bufor ma pojemność na 50 znaków a wczytujesz 100 ? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...