CYFROWY BARON • PROGRAMOWANIE • Zobacz wÄ…tek - Jedna funkcja dwie tabele
Strona 1 z 1

Jedna funkcja dwie tabele

Nowy postNapisane: czwartek, 9 września 2010, 21:51
przez Pitek
Witam!
Mam pytanie czy korzystając z jednej funkcji zapisu danych z tabeli TStringGrid Cyfrowego Barona dało by się obsłużyć dwie osobne tabele czyli dwa osobne komponenty ale tak żeby zawsze wczytywane pliki były razem np. tabela1a i tabela1b żeby się wczytały razem do dwóch osobnych tabel przy pomocy tej jednej funkcji ? Oraz obsłużyć że jakby jednego z nich nie było to żeby funkcja się nie rzucała.
Jeżeli to jest w ogóle wykonalne to bardzo proszę o jakieś propozycję bo ja się gubię.
Z góry dziękuję!


Pozdrawiam pitek3010

Re: Jedna funkcja dwie tabele

Nowy postNapisane: czwartek, 9 września 2010, 22:28
przez Corvis
Pewnie, że się da. Deklarujesz funkcję (lista parametrów może być dowolna, ale wskaźnik na TStringGrida musi być):

KOD cpp:   •  UKRYJ  •
void Funkcja(TStringGrid *grid);  


Gdzie grid to wskaźnik na obiekt TStringGrid.

Wywołanie

KOD cpp:   •  UKRYJ  •
Funkcja(StringGrid1);
Funkcja(StringGrid2);

Re: Jedna funkcja dwie tabele

Nowy postNapisane: piątek, 10 września 2010, 09:38
przez Cyfrowy Baron
Jeżeli chodzi Tobie (pitek3010) o poradę Zapisywanie i odczytywanie zawartości obiektu StringGrid. z serwisu Cyfrowy Baron, to tak jak napisał Corvis, musisz wywołać tą funkcję dwukrotnie, najpierw wczytując zawartość do pierwszego StringGrid, a potem do drugiego. W znanym wszechświecie żadne zjawisko nie zachodzi natychmiast, więc nie możesz wczytać zawartości pliku do dwóch tabel jednocześnie, zawsze, któraś będzie pierwsza. Można by oczywiście przerobić funkcję tak by wczytywała dane naprzemiennie do komórek raz jednej tabeli i drugiej, tylko po co? Niczego to nie przyspieszy, niczego nie zmieni, wynik wczytania i tak zostanie wyświetlony niemalże jednocześnie dla obydwu tabel.



Oraz obsłużyć że jakby jednego z nich nie było to żeby funkcja się nie rzucała.


A co, u Ciebie funkcja nie działa?

Re: Jedna funkcja dwie tabele

Nowy postNapisane: piątek, 10 września 2010, 13:48
przez Pitek
Nie chodzi o to że funkcja nie działa tylko miałem inny pogląd na jej działanie z dwiema tabelami ale w takim wypadku to żeby nie miała "wątpliwości" z tym sobie poradzę :)
Bardzo dziękuję za pomoc!

Re: Jedna funkcja dwie tabele

Nowy postNapisane: sobota, 9 października 2010, 14:14
przez Pitek
A dałoby rade tak żeby jedna funkcja obsługiwała wiele tabel w takim sensie że kilka tabel byłoby w jednym pliku ?

Re: Jedna funkcja dwie tabele

Nowy postNapisane: sobota, 9 października 2010, 14:20
przez Cyfrowy Baron
Potrzebna jest nowa funkcja, wzorowana na starej, ale konstrukcja takiej funkcji zależy od konstrukcji pliku, czyli od tego jak dane są pogrupowane w tymże pliku.
Tutaj należy wyjaśnić jedną kwestie. Plik nie przechowuje żadnych tabel lecz dane wprowadzane do pliku w oparciu o tabelę, ale te dane nie maja nic wspólnego z tabelą. To dopiero funkcja odczytująca zawartość pliku pobiera te dane i odpowiednio przetwarza, a następnie umieszcza w tabeli. Tak samo jest z funkcją zapisującą.

Re: Jedna funkcja dwie tabele

Nowy postNapisane: sobota, 9 października 2010, 14:39
przez Pitek
Czy mógłbym prosić o jakiś zarys w postaci kodu ?
Wczytywanie danych do tabeli byłoby rozróżniane np. po nazwie tej tabeli np. StringGrid1, StringGrid2...itd.

Re: Jedna funkcja dwie tabele

Nowy postNapisane: sobota, 9 października 2010, 16:59
przez Cyfrowy Baron
Zarys kodu to już masz w postaci kodu, którego używałeś wcześniej. Poza tym, żeby zacząć pracę nad tym kodem trzeba najpierw opracować funkcję zapisującą te tabele do jednego pliku, by mając plik do testów pracować na funkcja odczytującą.