Skocz do zawartości
frogstomp

Wprowadzanie Danych Do Stringgrida

Rekomendowane odpowiedzi

Mam prosbe,nie moge sobie poradzic z wczytaniem danych liczbowych z pliku tekstowego,zawierajacego 4 kolumny liczb, do 4 kolumn stringgrida w borland c++...bede wdzieczna za jakakolwiek wskazowke na ten temat.z gory dziekuje za okazanie wszelkiej pomocy;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

 with StringGrid1 do                for i:=1 to ColCount-1 do                     for j:=1 to RowCount-1 do                         Cells[i,j]:=IntToStr(Random(2000));

tutaj wpisuje do Grida jakieś losowe cyfry, to jest kod z Delphi, ale istota powinna być chyba podobna.

Wcześniej musisz wyciągnąć dane z pliku i podzielić je na kolumny, nie za bardzo teraz kojarzę jak, ale to chyba coś takiego by było:

 

StringGrid1.Cells[1,1]:=cyfry_z_2_wiersza_i_2_kolumny_w_pliku

BTW. Numeracja komórek w Gridzie zaczyna się od 0

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

dzieki sliczne za wykazanie pomocy;) no niestety wlasnie chodzi mi o to wyciagniecie tych poszczegolnych kolumn z pliku tekstowego...jak to zrobic:/ bo w Stringgridzie to chyba juz wystarczy przypisac poszczegolnym komorka te z pliku:

Stringgrid1->Cells[j] tylko nie wiem jak...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Udalo mi sie juz wczytac do stringgrida liczby,z tymze w pliku liczba kolumn jest stala 4, natomiast nie wiem jak wprowadzic rozna liczbe wierszy, umiem stworzyc jedynie tablice[n][n]:/ prosze o jakas wskazowke...

 

void __fastcall TForm1::BitBtn1Click(TObject *Sender){int i,j,N;FILE *in;TForm1 *Form1;double **a;if(OpenDialog1->Execute()){in=fopen(OpenDialog1->FileName.c_str(), "r");N=4;a=new double*[N];for(i=0;i<N;i++)a[i]=new double[N];for(i=0;i<N;i++){for(j=0;j<N;j++)fscanf(in,"%lf",&a[i][j]);}}StringGrid1->ColCount=N;StringGrid1->RowCount=N;for(i=0;i<N;i++){for(j=0;j<N;j++)StringGrid1->Cells[j][i]=a[i][j];}}

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

nie wiem, czy o to chodziło, po otwarciu pliku zliczasz ilość wierszy i kolumn i wstawiasz do pętli wypełniającej grida.

 

for(i=0;i<liczba_wierszy;i++)

{

for(j=0;j<liczba_kolumn;j++)

StringGrid1->Cells[j]=a[j];

}

 

chyba nie zrozumiałem, bo akurat to wydaje się banalne :wink:

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Chodzi mi o to ze w tym pliku tekstowym liczba kolumn liczb jest stala=4, natomiast liczba wierszy we wszystich kolumnach jest taka sama ale nie stala,zmienia sie w zaleznosci od pliku z danymi...nie wiem czy to potrafie wytlumaczyc:/ no i wlasnie chodzi o samo zapisanie zawartosci jako tablice a[j] bo do stringgrida to juz rzeczywiscie latwo wczytac;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

chyba faktycznie się nie rozumiemy, bo jeżeli problemem jest wyliczenie ilości wierszy w pliku, to powinna być jakaś funkcja, albo robimy to na piechotę, czyli:

 

ilosc_wierszy=0; //ustawiamy ilosc_wierszy na 0, albo na 1, trzeba sprawdzić, żeby później cudów nie było

 

while EoF do // EoF to jest End of File tylko nie pamiętam, czy tak się pisze funkcję i na jakich plikach działa

{

Inc(ilosc_wierszy); //zwiększamy ilosc_wierszy o jeden

}

 

for(i=0;i<liczba_wierszy;i++)

{

a[0]->wartosc_kol_1; a[1]->wartosc_kol_2; a[2]->wartosc_kol_3; a[3]->wartosc_kol_4;

//nie pamiętam czy pierwsze w Gridzie to kolumna czy wiersz

}

 

raczej nie o to chodzi, bo to chyba zbyt proste :D

Edytowane przez ygbd

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

czesc,

niestety nie potrafie Ci pomoc ale sumienie kaze mi bardzo Ci podziekowac gdyz twoj problem a wlasciwie twoj program bardzo pomogl w rozwiazaniu mojego. Mam do wczytania 128 wierszy z pliku w ktorym sa dwie kolumny. Chodzilo mi o wczytanie tylko drugiej i bardzo mnie nakierowalas!Dziekuje i zycze powodzenia w szukaniu rozwiazania. Moze nawet tak przypadkowo znalezionego jak moje

Pozdrawiam

Mesayah

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