🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.delphi.bazy-danych
11 messages
11 total messages Started by lordbz Sun, 29 Jan 2017 18:44
Kopiowanie , prośba o podpowiedź - kopiowanie pól z dbgrid
#82713
Author: lordbz
Date: Sun, 29 Jan 2017 18:44
59 lines
3829 bytes
Witam


Założenie jest następujące. Na serwerze jest w bazie MSSQL tabela. User łączy się z tabelą.
 
Wszystko działa, jest połączenie, w dbgrid1 pojawia się pusta tabela np. grupy.


Następnie otwiera sobie tabelę w dbgrid2 z lokalnego hdd o takiej samej nazwie i takiej samej strukturze ale wypełnionej danymi.

Teraz chodzi o to żeby po kliknięciu przekopiować (koniecznie z tabeli z danym ) do tabeli na serwerze dane ale chciałbym zrobić to wędrując po polach DBGrid2.

Teraz kod i prośba o podpowiedź bo nie bardzo wiem co robię żle.

////
procedure TForm1.Button7Click(Sender: TObject);
var x : integer;
begin
ADOQuery3.Connection:=  AdoConnection1;
AdoQuery3.SQL.Clear;
DBGrid2.DataSource.DataSet.First;
while not DBGrid2.DataSource.DataSet.Eof do
  begin
   for x:=0 to DBGrid2.DataSource.DataSet.Fields.Count -1 do

      begin
      ADOQuery3.SQL.Add('INSERT INTO grupy (GRUPA, NAZWA, RODZAJ, W_OPALOWA, STAWKA_A) VALUES (:grupa, :nazwa, :rodzaj, :w_opalowa, :stawka_a)'); // +  DataSource1.DataSet.Fields[x].AsString );

     begin
      ADOQuery3.Parameters.ParamByName('GRUPA').Value:= DBGrid2.DataSource.DataSet.Fields[x].AsString;
      ADOQuery3.Parameters.ParamByName('NAZWA').Value:= DBGrid2.DataSource.DataSet.Fields[x].AsString;
      ADOQuery3.Parameters.ParamByName('RODZAJ').Value:= DBGrid2.DataSource.DataSet.Fields[x].AsString;
      ADOQuery3.Parameters.ParamByName('W_OPALOWA').Value:= DBGrid2.DataSource.DataSet.Fields[x].AsFloat;
      ADOQuery3.Parameters.ParamByName('STAWKA_A').Value:= DBGrid2.DataSource.DataSet.Fields[x].AsFloat;

      end;

  ADOQuery3.ExecSQL;
  DBGrid2.DataSource.DataSet.Next;
  end;

end;

kod prościutki niestetynie działa i nie mam pomysłu

zamiast kodu między begin ....end dałem:

      AdoQuery3.Parameters.ParamByName('GRUPA').Value:= DBGrid2.DataSource.DataSet.FieldByName('grupa').AsString;
      AdoQuery3.Parameters.ParamByName('NAZWA').Value:= DBGrid2.DataSource.DataSet.FieldByName('nazwa').AsString;
      AdoQuery3.Parameters.ParamByName('RODZAJ').Value:= DBGrid2.DataSource.DataSet.FieldByName('rodzaj').AsString;
      AdoQuery3.Parameters.ParamByName('W_OPALOWA').Value:= DBGrid2.DataSource.DataSet.FieldByName('w_opalowa').AsFloat;
      AdoQuery3.Parameters.ParamByName('STAWKA_A').Value:= DBGrid2.DataSource.DataSet.FieldByName('stawka_a').AsFloat;

i to działa - tylko dla pierwszego rekoru - to zresztą zrozumiałe. Gdzieś by tu wpleść x  Proszę o jakąś podpowiedź, gdzie robię błąd.

Prosze o wyrozumiałość i podpowiedź , nie oczekuję gotowca
pozdrawiam

Przemek
Re: Kopiowanie , prośba o podpowiedź - kopiowanie pól z dbgrid
#82714
Author: miab
Date: Sun, 29 Jan 2017 22:36
35 lines
2233 bytes
W dniu 2017-01-29 o 19:44, lordbz pisze:
> Witam
>
>
> Założenie jest następujące. Na serwerze jest w bazie MSSQL tabela. User łączy się z tabelą.
>
> Wszystko działa, jest połączenie, w dbgrid1 pojawia się pusta tabela np. grupy.
>
>
> Następnie otwiera sobie tabelę w dbgrid2 z lokalnego hdd o takiej samej nazwie i takiej samej strukturze ale wypełnionej danymi.
>
> Teraz chodzi o to żeby po kliknięciu przekopiować (koniecznie z tabeli z danym ) do tabeli na serwerze dane ale chciałbym zrobić to wędrując po polach DBGrid2.
>
> Teraz kod i prośba o podpowiedź bo nie bardzo wiem co robię żle.
>
> ////
> procedure TForm1.Button7Click(Sender: TObject);
> var x : integer;
> begin
> ADOQuery3.Connection:=  AdoConnection1;
> AdoQuery3.SQL.Clear;

przenieś tutaj

> DBGrid2.DataSource.DataSet.First;
> while not DBGrid2.DataSource.DataSet.Eof do
>   begin
>    for x:=0 to DBGrid2.DataSource.DataSet.Fields.Count -1 do
>
>       begin
>       ADOQuery3.SQL.Add('INSERT INTO grupy (GRUPA, NAZWA, RODZAJ, W_OPALOWA, STAWKA_A) VALUES (:grupa, :nazwa, :rodzaj, :w_opalowa, :stawka_a)'); // +  DataSource1.DataSet.Fields[x].AsString );

Dodajesz za każdym razem kolejną linie SQL-a

miab
Re: Kopiowanie , prośba o podpowiedź - kopiowanie pól z dbgrid
#82715
Author: lordbz
Date: Mon, 30 Jan 2017 15:29
26 lines
2741 bytes
> ADOQuery3.Connection:=  AdoConnection1; 
> AdoQuery3.SQL.Clear; 

> przenieś tutaj 

to znaczy wywalić poza pętlę zapytanie SQL ??

że niby tak
ADOQuery3.SQL.Add('INSERT INTO grupy (GRUPA, NAZWA, RODZAJ, W_OPALOWA, STAWKA_A) VALUES (:grupa, :nazwa, :rodzaj, :w_opalowa, :stawka_a)'); // +  DataSource1.DataSet.Fields[x].AsString ); 

     begin 
      ADOQuery3.Parameters.ParamByName('GRUPA').Value:= DBGrid2.DataSource.DataSet.Fields[x].AsString; 
      ADOQuery3.Parameters.ParamByName('NAZWA').Value:= DBGrid2.DataSource.DataSet.Fields[x].AsString; 
      ADOQuery3.Parameters.ParamByName('RODZAJ').Value:= DBGrid2.DataSource.DataSet.Fields[x].AsString; 
      ADOQuery3.Parameters.ParamByName('W_OPALOWA').Value:= DBGrid2.DataSource.DataSet.Fields[x].AsFloat; 
      ADOQuery3.Parameters.ParamByName('STAWKA_A').Value:= DBGrid2.DataSource.DataSet.Fields[x].AsFloat; 
      end; 

to super ale wtedy co w pętli
to:
DBGrid2.DataSource.DataSet.Fields[z].Value);

pogubiłem się 
kurcze no...

każdy obrót pętli to pobranie kolejnego fielda (fields[z]) jak to przypisać do inserta w ADOQUERy
Re: Kopiowanie , prośba o podpowiedź - kopiowanie pól z dbgrid
#82716
Author: miab3
Date: Mon, 30 Jan 2017 17:13
5 lines
1160 bytes
W dniu 2017-01-30 o 16:29, lordbz pisze:
>
Przenieś (albo poczytaj).

miab
Re: Kopiowanie , prośba o podpowiedź - kopiowanie pól z dbgrid
#82717
Author: Zenon Oktawiec
Date: Wed, 01 Feb 2017 08:20
31 lines
1893 bytes
W dniu 2017-01-30 o 18:13, miab3 pisze:
> W dniu 2017-01-30 o 16:29, lordbz pisze:
>>
> Przenieś (albo poczytaj).
>
> miab
>

Widzę, że muszę wkroczyć :)
Po prostu w przykładzie ze swojej pierwszej odpowiedzi "zniknąłeś" jedną 
linijkę (z Next) i dlatego nie możecie się dogadać.

Poniżej wygląd pętli, o który tak się dopytuje nasz "wątkowy":

DBGrid2.DataSource.DataSet.First;
while not DBGrid2.DataSource.DataSet.Eof do
   begin
       . Tutaj jest
       . sekwencja przepisania rekordu
       . którą juz podano w przednich mailach
     DBGrid2.DataSource.DataSet.Next;
   end




-- 
pzdr,
Z.

Zwiedzaj Kraków:    http://www.przewodnik-miejski.krakow.pl
Re: Kopiowanie , prośba o podpowiedź - kopiowanie pól z dbgrid
#82718
Author: lordbz
Date: Wed, 01 Feb 2017 13:06
54 lines
4281 bytes
Miab, Zenon - dzięki - podam teraz kod który działa ale najpierw przypomnę założenie.
1-user połączył się z MSSQL - tam ma pusta tabelkę (zrobione)
2-user otwiera sobie plik dbf (db itp) lokalnie w DBGRid2 (zrobione)
3-naciśnięcie klawisza - przekopiowanie pól z DBGrid2 do tabeli na serwerze

KOD który działa:
procedure TForm1.Button9Click(Sender: TObject);
var z : integer;
g,n,r,w,s : string;
begin

ADOQuery3.Connection:=  AdoConnection1;
AdoQuery3.SQL.Clear;

  DBGrid2.DataSource.DataSet.First;
  while not DBGrid2.DataSource.DataSet.Eof do  // przejście po wszystkich rekordach tabeli

   //     for z:=0 to DBGrid2.DataSource.DataSet.Fields.Count -1 do
        begin
          g:= DBGrid2.DataSource.DataSet.FieldByName('grupa').AsString;
          n:= DBGrid2.DataSource.DataSet.FieldByName('nazwa').AsString;
          r:= DBGrid2.DataSource.DataSet.FieldByName('rodzaj').AsString;
          w:= DBGrid2.DataSource.DataSet.FieldByName('w_opalowa').Value; //.AsVariant;
          s:= DBGrid2.DataSource.DataSet.FieldByName('stawka_a').Value;// AsVariant;

     ADOQuery3.SQL.Add('INSERT INTO grupy (GRUPA, NAZWA, RODZAJ, W_OPALOWA, STAWKA_A) VALUES (''' + g + ''',''' + n + ''',''' + r + ''',''' + w + ''',''' + s + ''')');

          DBGrid2.DataSource.DataSet.Next;
        end;
     ADOQuery3.ExecSQL;
end;

KONIEC KODU

Ładuję go bo wdzięczny będę za uwagi bo sam mam uwagi:
1- pętla {for z:=0 to DBGrid2.DataSource.DataSet.Fields.Count -1 do} jest wyłączona tu niczemu nie służy a wrecz przeszkadza bo dubluje ostatni rekord lub dodaje pusty
2 - fragment kodu 
{ g:= DBGrid2.DataSource.DataSet.FieldByName('grupa').AsString;
          n:= DBGrid2.DataSource.DataSet.FieldByName('nazwa').AsString;
          r:= DBGrid2.DataSource.DataSet.FieldByName('rodzaj').AsString;
          w:= DBGrid2.DataSource.DataSet.FieldByName('w_opalowa').Value; //.AsVariant;
          s:= DBGrid2.DataSource.DataSet.FieldByName('stawka_a').Value;// AsVariant;

     ADOQuery3.SQL.Add('INSERT INTO grupy (GRUPA, NAZWA, RODZAJ, W_OPALOWA, STAWKA_A) VALUES (''' + g + ''',''' + n + ''',''' + r + ''',''' + w + ''',''' + s + ''')');
}
jest wg mnie no nie wiem ... nieprofesjonalny.Bo co będzie haj plik (tutaj grupy to pięć pól, pięć kolumn) będzie miał np 25 kolumn ? Będę musiał definiować tyle zmiennych i linia za "values" będie długa i głupia - to się chore robi.
3 - reasumując kod jest do poprawki
Daję cały bo może komuś się przyda a dodatkowo uważam że na tym to polega (teraz ktoś mnie zjedzie , coś podpowie, da kawałek i problem rozwiązany). Ponadto przeszukałem grupę i dokładnie takiego (rozwiązanego) problemu nie ma - zaznaczam lecimy po DBGrid.

Proszę o uwagi

Dzięki

Przemek
Re: Kopiowanie , prośba o podpowiedź - kopiowanie pól z dbgrid
#82719
Author: Krzysztof Szyszka
Date: Wed, 01 Feb 2017 17:44
58 lines
3575 bytes
Użytkownik "lordbz"  napisał w wiadomości grup
dyskusyjnych:d0312858-627e-46e0-9c41-6ceada7756df@googlegroups.com...

> Miab, Zenon - dzięki - podam teraz kod który działa ale najpierw przypomnę założenie.
> 1-user połączył się z MSSQL - tam ma pusta tabelkę (zrobione)
> 2-user otwiera sobie plik dbf (db itp) lokalnie w DBGRid2 (zrobione)
> 3-naciśnięcie klawisza - przekopiowanie pól z DBGrid2 do tabeli na serwerze
>
> KOD który działa:
[...]
> 3 - reasumując kod jest do poprawki
> Daję cały bo może komuś się przyda a dodatkowo uważam że na tym to polega (teraz ktoś mnie zjedzie
> ,
> coś podpowie, da kawałek i problem rozwiązany). Ponadto przeszukałem grupę i dokładnie takiego
> (rozwiązanego) problemu nie ma - zaznaczam lecimy po DBGrid.
>
> Proszę o uwagi

Skoro prosisz o uwagi to:
1. Ten kod jest mocno przekombinowany
2. Do wykonania tego zadania DBGridy nie mają znaczenia (są jedynie wizualizacją procesu)
3. Skoro masz już gotowe DataSety opisane w punktach 1 i 2, to po co Ci jeszcze ADOQuery3?
4. Wszystko co musisz zrobić, to skopiować zawartość drugiego DataSetu do pierwszego o takiej
samej strukturze, a po wykonaniu kopiowania zatwierdzić dane na serwerze (jeśli potrzeba).

Do skopiowania DataSetów wystarczy wywołać prostą *uniwersalną* procedurę:

procedure TMainForm.CopyDataSet(SourceDataSet, TargetDataSet: TDataSet);
var
  I: Integer;
begin
  if SourceDataSet.Fields.Count <> TargetDataSet.Fields.Count then
  begin
    ShowMessage('Niezgodność tabeli źródłowej i docelowej!');
    Exit;
  end;

  SourceDataSet.First;
  while not SourceDataSet.Eof do
  begin
    TargetDataSet.Append;
    for I := 0 to SourceDataSet.Fields.Count-1 do
      TargetDataSet.Fields[I].Value := SourceDataSet.Fields[I].Value;
    TargetDataSet.Post;
    SourceDataSet.Next;
  end;
end;

Warunkiem poprawności działania jest oczywiście zgodność kolejności pól w obu DataSetach.

-- 
pozdrowienia
Krzysztof Szyszka, X-Files Software
Developer of X-DBGrid Component
Embarcadero Technology Partner
http://www.x-files.pl/
Join to "Delphi X-DBGrid Component Community"
https://plus.google.com/#communities/100842098152269100547 
Re: Kopiowanie , prośba o podpowiedź - kopiowanie pól z dbgrid
#82720
Author: lordbz
Date: Wed, 01 Feb 2017 20:04
23 lines
2615 bytes
> Skoro prosisz o uwagi to:
> 1. Ten kod jest mocno przekombinowany

to wiem , od razu wiedziałem, ale chodzi właśnie o konstruktywną krytykę.

> 2. Do wykonania tego zadania DBGridy nie mają znaczenia (są jedynie wizualizacją procesu)

przyjąłem błędne założenie - przysłowiowa Pani Jadzia filtruje sobie Grida i wyniki filtrowania za pomocą guziczka ładuje na serwer.

> 3. Skoro masz już gotowe DataSety opisane w punktach 1 i 2, to po co Ci jeszcze ADOQuery3?

tu mnie natchnąłeś - kilka lat przerwy w zawodzie i zapomniałem sporo. Od listopada ostro ładuję głowę. Jak widać efekt różny. :-) A może nigdy nie rozumiałem jak to działa? Teraz wiem - to ważne.

> Warunkiem poprawności działania jest oczywiście zgodność kolejności pól w obu DataSetach.

to oczywiste

dziękuję Krzysztof za wskazówki

pozdrawiam


Przemek
Re: Kopiowanie , prośba o podpowiedź - kopiowanie pól z dbgrid
#82721
Author: zpksoft
Date: Thu, 02 Feb 2017 07:54
82 lines
5463 bytes
W dniu niedziela, 29 stycznia 2017 19:44:47 UTC+1 użytkownik lordbz napisał:
> Witam
> 
> 
> Założenie jest następujące. Na serwerze jest w bazie MSSQL tabela. User łączy się z tabelą.
>  
> Wszystko działa, jest połączenie, w dbgrid1 pojawia się pusta tabela np. grupy.
> 
> 
> Następnie otwiera sobie tabelę w dbgrid2 z lokalnego hdd o takiej samej nazwie i takiej samej strukturze ale wypełnionej danymi.
> 
> Teraz chodzi o to żeby po kliknięciu przekopiować (koniecznie z tabeli z danym ) do tabeli na serwerze dane ale chciałbym zrobić to wędrując po polach DBGrid2.
> 
> Teraz kod i prośba o podpowiedź bo nie bardzo wiem co robię żle.
> 
> ////
> procedure TForm1.Button7Click(Sender: TObject);
> var x : integer;
> begin
> ADOQuery3.Connection:=  AdoConnection1;
> AdoQuery3.SQL.Clear;
> DBGrid2.DataSource.DataSet.First;
> while not DBGrid2.DataSource.DataSet.Eof do
>   begin
>    for x:=0 to DBGrid2.DataSource.DataSet.Fields.Count -1 do
> 
>       begin
>       ADOQuery3.SQL.Add('INSERT INTO grupy (GRUPA, NAZWA, RODZAJ, W_OPALOWA, STAWKA_A) VALUES (:grupa, :nazwa, :rodzaj, :w_opalowa, :stawka_a)'); // +  DataSource1.DataSet.Fields[x].AsString );
> 
>      begin
>       ADOQuery3.Parameters.ParamByName('GRUPA').Value:= DBGrid2.DataSource.DataSet.Fields[x].AsString;
>       ADOQuery3.Parameters.ParamByName('NAZWA').Value:= DBGrid2.DataSource.DataSet.Fields[x].AsString;
>       ADOQuery3.Parameters.ParamByName('RODZAJ').Value:= DBGrid2.DataSource.DataSet.Fields[x].AsString;
>       ADOQuery3.Parameters.ParamByName('W_OPALOWA').Value:= DBGrid2.DataSource.DataSet.Fields[x].AsFloat;
>       ADOQuery3.Parameters.ParamByName('STAWKA_A').Value:= DBGrid2.DataSource.DataSet.Fields[x].AsFloat;
> 
>       end;
> 
>   ADOQuery3.ExecSQL;
>   DBGrid2.DataSource.DataSet.Next;
>   end;
> 
> end;
> 
> kod prościutki niestetynie działa i nie mam pomysłu
> 
> zamiast kodu między begin ....end dałem:
> 
>       AdoQuery3.Parameters.ParamByName('GRUPA').Value:= DBGrid2.DataSource.DataSet.FieldByName('grupa').AsString;
>       AdoQuery3.Parameters.ParamByName('NAZWA').Value:= DBGrid2.DataSource.DataSet.FieldByName('nazwa').AsString;
>       AdoQuery3.Parameters.ParamByName('RODZAJ').Value:= DBGrid2.DataSource.DataSet.FieldByName('rodzaj').AsString;
>       AdoQuery3.Parameters.ParamByName('W_OPALOWA').Value:= DBGrid2.DataSource.DataSet.FieldByName('w_opalowa').AsFloat;
>       AdoQuery3.Parameters.ParamByName('STAWKA_A').Value:= DBGrid2.DataSource.DataSet.FieldByName('stawka_a').AsFloat;
> 
> i to działa - tylko dla pierwszego rekoru - to zresztą zrozumiałe. Gdzieś by tu wpleść x  Proszę o jakąś podpowiedź, gdzie robię błąd.
> 
> Prosze o wyrozumiałość i podpowiedź , nie oczekuję gotowca
> pozdrawiam
> 
> Przemek

To proste. Pod różne pola wkładasz jedno i to samo:

 ADOQuery3.Parameters.ParamByName('GRUPA').Value:= DBGrid2.DataSource.DataSet.Fields[x].AsString;
      ADOQuery3.Parameters.ParamByName('NAZWA').Value:= DBGrid2.DataSource.DataSet.Fields[x].AsString;
      ADOQuery3.Parameters.ParamByName('RODZAJ').Value:= DBGrid2.DataSource.DataSet.Fields[x].AsString; 

czyli w pierwszym kroku pętli:

 ADOQuery3.Parameters.ParamByName('GRUPA').Value:= DBGrid2.DataSource.DataSet.Fields[0].AsString;
      ADOQuery3.Parameters.ParamByName('NAZWA').Value:= DBGrid2.DataSource.DataSet.Fields[0].AsString;
      ADOQuery3.Parameters.ParamByName('RODZAJ').Value:= DBGrid2.DataSource.DataSet.Fields[0].AsString; 

itd... czyli inaczej:

 ADOQuery3.Parameters.ParamByName('GRUPA').Value:= DBGrid2.DataSource.DataSet.FieldByName('GRUPA').AsString;
      ADOQuery3.Parameters.ParamByName('NAZWA').Value:= DBGrid2.DataSource.DataSet.FieldByName('GRUPA').AsString;
      ADOQuery3.Parameters.ParamByName('RODZAJ').Value:= DBGrid2.DataSource.DataSet.FieldByName('GRUPA').AsString;

rozumiesz?

Paweł
Re: Kopiowanie , prośba o podpowiedź - kopiowanie pól z dbgrid
#82722
Author: lordbz
Date: Thu, 02 Feb 2017 10:26
30 lines
2938 bytes
> 
> To proste. Pod różne pola wkładasz jedno i to samo:
> 
>  ADOQuery3.Parameters.ParamByName('GRUPA').Value:= DBGrid2.DataSource.DataSet.Fields[x].AsString;
>       ADOQuery3.Parameters.ParamByName('NAZWA').Value:= DBGrid2.DataSource.DataSet.Fields[x].AsString;
>       ADOQuery3.Parameters.ParamByName('RODZAJ').Value:= DBGrid2.DataSource.DataSet.Fields[x].AsString; 
> 
> czyli w pierwszym kroku pętli:
> 
>  ADOQuery3.Parameters.ParamByName('GRUPA').Value:= DBGrid2.DataSource.DataSet.Fields[0].AsString;
>       ADOQuery3.Parameters.ParamByName('NAZWA').Value:= DBGrid2.DataSource.DataSet.Fields[0].AsString;
>       ADOQuery3.Parameters.ParamByName('RODZAJ').Value:= DBGrid2.DataSource.DataSet.Fields[0].AsString; 
> 
> itd... czyli inaczej:
> 
>  ADOQuery3.Parameters.ParamByName('GRUPA').Value:= DBGrid2.DataSource.DataSet.FieldByName('GRUPA').AsString;
>       ADOQuery3.Parameters.ParamByName('NAZWA').Value:= DBGrid2.DataSource.DataSet.FieldByName('GRUPA').AsString;
>       ADOQuery3.Parameters.ParamByName('RODZAJ').Value:= DBGrid2.DataSource.DataSet.FieldByName('GRUPA').AsString;
> 
> rozumiesz?
> 
> Paweł

Owszem, teraz już tak,ale trochę to trwało.  Też tak macie że 10 godzin patrzycie na ten sam kawałek kodu nie nie widzicie błędów? Czy tylko ja tak mam :-). Dopiero podpowiedź , lub reset (mój) dają jakiś ruch do przodu. To tak jakby się człowiek maniakalnie uczepił raz obranej drogi i za nic nie chciał zrozumieć , że inna może być lepsza.

Paweł , dziękuję


pozdrawiam
Przemek
Re: Kopiowanie , prośba o podpowiedź - kopiowanie pól z dbgrid
#82723
Author: zpksoft
Date: Fri, 03 Feb 2017 07:53
6 lines
1758 bytes
> Owszem, teraz już tak,ale trochę to trwało.  Też tak macie że 10 godzin patrzycie na ten sam kawałek kodu nie nie widzicie błędów? Czy tylko ja tak mam :-). 

Myślę, że każdy czasami tak ma.
Jak nie mogę dociec błędu to wykonuję kod step-by-step i sprawdzam, co się dzieje po drodze ze zmiennymi. 

Paweł
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads