usuwanie danych ze stringGrida i editow po zamknieciu progra

0

moj problem polega na tym ze gdy wpisuje wartosci do editów(sa potrzebne do obliczania wielkosci w stringgrid) i gdy w stringgridzie wyswietli sie wynik, to po zamknieciu programu i ponownym uruchomieniu dane w editach i stringgridach zostaja zapisane i otwieraja sie automatycznie a powinny byc puste aby mozna bylo wpisac nowe wartosci. Jesli ktos wie jak to zrobic to prosze o pomoc.

W programie sa 3 formatki, 1 jest glowna i sa na niej 2 przyciski do otwarcia odpowiednio 2 i 3 formatki. po otwarciu 2 lub 3 formatki ponownie wszystkie dane sa juz tam wprowadzone z poprzedniego otwarcia i nie wiem jak to zrobic zeby przy zamknieciu formatki Od razu usuwal wszystkie dane wpisane przez uzytkownika. prosze o pomoc !! :-)

0

zamykasz przez Close a pokazujesz przez Show? jak tak to nic dziwnego że dane zostają bo tylko chowasz/pokazujesz okienko =]

możesz:
a) w OnShow danej formy wstukać czyszczenie edit'ów ( da się zrobić pętle po wszystkich bez wstukiwania każdego z osobna =D )
b) niszczyć ( Destroy czy Free, nie pamiętam jak tam jest ) i tworzyć od nowa to wtedy też będą puste

ale to pierwsze takie bardziej eleganckie jest =]

pisze z pamięci więc mogą być błędy ale jak będziesz pisać ręcznie a nie kopiować to sprawdzenie listy podpowiedzi która wyskoczy gdy wciśniesz kropkę wystarczy, pod X podstaw jakiś tam numerek

for i:=0 to FormX.ComponentCount-1 do
  if FormX.Component[i] is TEdit then
    with FormX.Component[i] as TEdit do
      Text:='';
0

Bardzo dziekuje za podpowiedz zaraz to wyprubuje :-) jeszcze raz dzieki za odpowiedz

0

Uswanie danych z editow dziala bardzo dobrze ale teraz mam problem z usunieciem danych ze stringgrida przy zamykaniu programu jesli ktos moze mi pomoc to bardzo prosze :) tylko tego mi brakuje do zamkniecia programu prosze o pomoc

0

nie mam delphi pod ręką ale o ile dobrze pamiętam jednym z parametrów stringgrida jest dwuwymiarowa tablica Cells

znów pisane z palca =D

for i:=0 to FormX.ComponentCount-1 do
  if FormX.Component[i] is TStringGrid then
    with FormX.Component[i] as TStringGrid do
      for a:=0 to ColCount-1 do // a tu ilość kolumn
        for a:=0 to RowCount-1 do // tu ma być ilość linii, albo na odwrót =D
          Cells[a,b]:='';
0

sorki ze cie tak mecze ale pojawil sie problem "Undeclared identifier" pokazuje sie to przy component, cells,rowcount,colcount nie wiem jak sobie dalej z tym poradzic pomozesz mi jeszcze raz

0

eh.. zaraz sobie jakieś delphi zainstaluje =]

...

var
  i,j:integer;
begin

  for i:=0 to Form1.ComponentCount do
    if Form1.Components[i] is TStringGrid then
      with Form1.Components[i] as TStringGrid then
        for j:=0 to ColCount-1 do
          Cols[j].Text:='';

end;

=]

0

Bardzo dziekuje za pomoc wszystko dziala bardzo dobrze dziekuje:)

0

używaj helpa, dużo pomaga, lub podpowiedzi ( jak sama być pisała to w chwili wpisania kropki powinno, niestety nie zawsze działa =D, wyskoczyć okienko z podpowiedziami )

krótki kursik helpa =]

formy są typu TForm ( a dokładniej, bo ŁF się czepia szczegółów, dziedziczą z klasy TForm )
więc wpisujemy w indeks pomocy TForm
wyskoczy kilka pozycji, grzebiemy w nich aż dokopiemy się do takiego tematu gdzie na górze będzie pisać:
VCL Reference lub CLX Reference ( w VCL robisz domyślnie więc szukaj VCL lepiej, ale różnice małe są )

w trzeciej linii jest:
Hierarchy Properties Methods Events Using TForm See also

teraz interesują nas właściwości, czyli Properties, klikamy
wyskoczy nowe okienko, sortujemy alfabetycznie ( Alphabetically )
jako że nie ma Component wybieramy Components =]
w głównym oknie pomocy pojaw się krótki opis, a na górze okna pojawił się napis Delphi Example
klikamy i widzimy prosty przykład użycia =D

0

Dzieki za szybki kursik:) na pewno sie przyda pozdrawiam:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1