Skocz do zawartości
Mieczo

[borland C++]operacje Na Plikach

Rekomendowane odpowiedzi

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);

 

}

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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")

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

...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.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...