Skocz do zawartości

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

heydude

Wczytywanie z pliku

Polecane posty

Witam

Mam mały problem z pobieraniem informacji z plików.

Podczas wczytania bitmapy nie mam problemów, po naciśnięciu guzika pojawia się okno, gdzie mogę wybrać plik.

void __fastcall TForm1::Button1Click(TObject *Sender)                 
{
  if(OpenDialog1->Execute())
   {
      Image1->Picture->LoadFromFile(OpenDialog1->FileName);      
   }
}

Natomiast nie mogę sobie poradzić z otwieraniem pliku tekstowego. Domyślam się, że rozwiązanie jest proste, ale nic nie mogę znaleźć. Czego użyć zamiast TImage?

Albo jakiś inny, lepszy sposób na wybranie i wczytanie danych?

Druga sprawa.

void __fastcall TForm1::Button4Click(TObject *Sender)             
{
Graphics::TBitmap* bitmap = new Graphics::TBitmap;
bitmap->LoadFromFile("c:\\plik.bmp");
TRect rect = Rect(400, 10, 800, 610);
Canvas->StretchDraw(rect, bitmap);
delete bitmap;
}

Powyższy przycisk otwiera podgląd pliku, ale tylko tego konkretnego zapisanego w kodzie. Jak zrobić, żeby otwierał się plik, który wybierzemy tak jak w pierwszym przykładzie?

Może jakoś można podpiąć zawartość drugiego guzika pod pierwszy?

Link do komentarza
Udostępnij na innych stronach

argument jest typu "const char * filename" więc kazdy argument typu char mozesz podać do fopen.

Napisałem na szybko funkcję ładującą plik, wpisujac jego nazwe w cin (mozna uzyc rowniez zmiennej ktora wczesniej sobie zrobiles)

void load_file_from_input()
{
  FILE * plik;  //o tym dalem artykuł

  char filename[20]; //tworzymy tablice charow do przechowania naszej nazwy

  cout << "Podaj nazwe pliku .txt [adres\plik.txt] \n";
  
  cin >> filename; //wpisujemy nazwe ktora dajemy do naszej tablicy

  plik = fopen (filename,"w"); //ladujemy plik korzystajac z naszej ZMIENNEJ    
                                           //a nie twardowpisanego adresu

  if (plik!=NULL)
  {
    cout << "otwarto plik: " << filename << "\n";
    fputs ("przyklad",plik); //a zapisujemy se cos do pliku dla testu
    fclose (plik);
  }
}

Nie wiem czy o to ci chodziło, ale mysle ze o to ;p

Link do komentarza
Udostępnij na innych stronach

Wiem o co Tobie chodzi ;) Ten sposób na pewno działa i rozwiązałby problem... ale jednak nie tak chcę to zrobić ;)

Chciałbym rozwiązać to w podobny sposób do tego jak to jest zrobione w pierwszym przykładzie. A mianowicie po wciśnięciu guziku odpowiadającego za wczytanie pliku, otwiera mi się takie okno:

otwieraniex.jpg

Podobnie chciałbym wczytać plik tekstowy.

Link do komentarza
Udostępnij na innych stronach



  • Kto przegląda   0 użytkowników

    • Brak zalogowanych użytkowników przeglądających tę stronę.
×
×
  • Utwórz nowe...