Witam!!!
Tutaj załączam kod programu robionego w C ++ Builderze(z pakietu Borland RAD Studio XE3):
#include <vcl.h>
#include <string.h>
#include <iostream.h>
#include <fstream.h>
#pragma hdrstop
using namespace std;
#include "baza2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
fstream strumien;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
StringGrid1->ColWidths[0] = 56;
StringGrid1->ColWidths[1]= 102;
StringGrid1->ColWidths[2] = 500;
char linia[255];
string ww;
strumien.open("BazaCD.txt",ios::in|ios::out|ios::app);
int wsp=0,licznik = 0;
while (! strumien.eof() )
{
strumien.getline(linia,sizeof(linia));
StringGrid1->RowCount = StringGrid1->RowCount+1;
for (int i = 0; i < strlen(linia) ; i++)
{
Label1->Caption =Label1->Caption+linia[i];
StringGrid1->Cells[wsp][licznik] = StringGrid1->Cells[wsp][licznik] + linia[i];
if (i ==5)
{
wsp=wsp+1;
}
if (i ==23)
{
wsp=wsp+1;
}
}
wsp=0;
licznik = licznik+1;
}
StringGrid1->RowCount = StringGrid1->RowCount -1;
strumien.close();
I związku z tym pytanie: Gdy wczytuje cały łańcuch tablicy znaków pobrany z pliku do StringGrida czy etykiety(tutaj Label1) to wyświetla mi prawidłowo wszystkie znaki nawet polskie, ale gdy próbuję robić to wczytując znak za znakiem,
to wywala mi przy polskich literach krzaczki, zatem jeśli ktoś ma pomysł jak ominąć ten problem wczytywaniem znaku za znakiem, niech mi pomoże. Proces wczytywania uprościłem, gdyż poprzednia wersja wczytywania danych z pliku mimo,że działała prawidłowo to miała nadmiar zmiennych, a chciałem mieć bardziej przejrzysty kod.