Button1 uruchamia button2

Key

Użytkownik
Dołączył
Czerwiec 22, 2009
Posty
4
Witam,
Nie wiem jak mogę zrobić żeby po kliknięciu buttona1 uruchomił się button2
czy ktoś nie pomógł by mi z tym?
jestem początkujący i proszę o wyrozumiałość...
Pozdrawiam.
Key
<
<
<
 

Legalnl

Użytkownik
Dołączył
Październik 8, 2008
Posty
828
jasne xD ustawiasz drugi button gdzies w miejscu ktorym chcesz, potem w object inspektorze (tam po lewej) ustawiasz mu VISIBLE na FALSE.

potem w tym pierwszym buttonie piszesz
Kod:
button1.visible := true;
i juz masz
<


Visible to wartość, dzieki ktorej mozesz ukryc komponenty zeby nie były widoczne, a poakzujesz je tak jaka wyzej
smile.gif
 

Mo4x

Były Moderator
Dołączył
Grudzień 26, 2005
Posty
704
<div class='quotetop'>CYTAT(Key @ 24.06.2009, 11:09) <{POST_SNAPBACK}></div>
Nie wiem jak mogę zrobić żeby po kliknięciu buttona1 uruchomił się button2[/b]
Co masz na myśli mówiąc "uruchomił się"?

Jeżeli chcesz, aby po wciśnięciu na button1 wywołało się to co po wciśnięciu na button2 piszesz pod button1:
Kod:
Button2.Click;
 

Key

Użytkownik
Dołączył
Czerwiec 22, 2009
Posty
4
Dzięki wam za pomoc...
O to właśnie chodziło
<
<
<


Mam jeszcze dwa pytania czy nie dało by się zrobić coś z tym kodem żeby mi wczytało całą zawartość z ListBox do pliku *.txt:

Kod:
procedure TForm3.ImageButton1Click(Sender: TObject);
var
TF : TextFile;
begin
  AssignFile(TF, 'Logs.txt');
  Append(TF);
  Writeln(TF, '===================== Dane raportu ======================');
  Writeln(TF, '');
  Writeln(TF, 'Czas w którym było przeprowadzane (TE) filtrowanie listy:');
    Writeln(TF, Edit4.Text+' '+Edit1.Text);
    Writeln(TF, Edit5.Text+' '+Edit2.Text);
    Writeln(TF, '');
    Writeln(TF, '=========================================================');
    Writeln(TF, '');
    Writeln(TF, 'Wynik po przefiltrowaniu listy:');
    Writeln(TF, ListBox2.Items[i]);
    Writeln(TF, '=========================================================');
  CloseFile(TF);
end;

chodzi o to że ta procedura wczytuje tylko po jednej linii a ja chciałbym załadować całą zawartość ListBox a tam jest ponad 200 linijek, nie dało by się coś z tym zrobić?

chyba że znacie jakąś inną procedurę która nadpisuje zawartość do jednego i tego samego pliku???

bo inne procedury znam ale takie które zamieniają stary tekst na nowy a ja chciałbym żeby nadpisywał mi pod jednym tekstem drugi i żeby była możliwość tak jak wyżej dodawanie tekstu z editów
nad tekstem z listboxa i pod tekstem...

Bardzo proszę o pomoc bo już męczę się z tym kawał czasu...

Ten powyższy kod da się skompilować ale podczas próby zapisu wyskakuje błąd a to przez tego ListBoxa2 bo nie da się załadować tej całej zawartości poprzez tą procedurę (chyba)...

A drugie pytanie brzmi: nie wiem jak można by zrobić żeby jakiś plik można zapisać z nazwą np: 22-16-46
chodzi mi tu o Timera żeby plik zapisywał się w postaci aktualnej godziny bo normalnie to można zapisać tak: 22:16:46 używając tego kodu: Edit1.Text := TimeToStr(Time); ale tak nie pójdzie nazwać pliku przez te znaki ":" więc może wie ktoś jak to można zrobić???

Pozdrawiam....
 

adikx

Użytkownik
Dołączył
Maj 21, 2007
Posty
415
Proszem:
Kod:
ListBox1.Items.SaveToFile('nazwa_pliku');

Czas w formie stringu: TimeToStr(Time); tylko musisz sobie zamienić ':' na '-'.

Edit:// Nie dotczytałem. Napiszę ci funkcje:
Kod:
function GetTime:String;
var
S:String;
begin
S:=TimeToStr(Time);
Result := StringReplace(S, ':', '-', [rfReplaceAll]);
end;
 

Key

Użytkownik
Dołączył
Czerwiec 22, 2009
Posty
4
<div class='quotetop'>CYTAT(adikx @ 24.06.2009, 14:38) <{POST_SNAPBACK}></div>
Proszem:
Kod:
ListBox1.Items.SaveToFile('nazwa_pliku');

Czas w formie stringu: TimeToStr(Time); tylko musisz sobie zamienić ':' na '-'.

Edit:// Nie dotczytałem. Napiszę ci funkcje:
Kod:
function GetTime:String;
var
S:String;
begin
S:=TimeToStr(Time);
Result := StringReplace(S, ':', '-', [rfReplaceAll]);
end;
[/b]


Dzięki za odp...

Ja właśnie korzystam z tego kodu:
Kod:
ListBox1.Items.SaveToFile('nazwa_pliku');
(korzystałem) i po kliknięciu na button podmienia tekst
<
a ja chciałbym żeby tylko się dopisywał jeden tekst pod drugim...
<
 

adikx

Użytkownik
Dołączył
Maj 21, 2007
Posty
415
To zrób tak:
Dodaj procedure:
Kod:
procedure AddData(F:String;Data:TStrings);
var
  Plik:TStrings;
begin
  Plik:=TStrings.Create;
  Plik.LoadFromFile(F);
  Plik.AddStrings(Data);
  Plik.SaveToFile(F);
  Plik.Free;
end;

I zastosuj ją w ten sposób:
Kod:
AddData('nazwa_pliku',ListBox1.Items);
 

Key

Użytkownik
Dołączył
Czerwiec 22, 2009
Posty
4
<div class='quotetop'>CYTAT(adikx @ 24.06.2009, 17:07) <{POST_SNAPBACK}></div>
To zrób tak:
Dodaj procedure:
Kod:
procedure AddData(F:String;Data:TStrings);
var
  Plik:TStrings;
begin
  Plik:=TStrings.Create;
  Plik.LoadFromFile(F);
  Plik.AddStrings(Data);
  Plik.SaveToFile(F);
  Plik.Free;
end;

I zastosuj ją w ten sposób:
Kod:
AddData('nazwa_pliku',ListBox1.Items);
[/b]

Hmmm też coś nie idzie, kompiluje się dobrze ale podczas próby zapisywania tekstu z ListBox do *.txt wywala błąd...
<
 

adikx

Użytkownik
Dołączył
Maj 21, 2007
Posty
415
Kod:
procedure AddData(F:String;Data:TStrings);
var
  Plik:TStrings;
begin
  Plik:=TStrings.Create;
  Plik.LoadFromFile(F);
  Plik.Text:=Plik.Text+Data.Text;
  Plik.SaveToFile(F);
  Plik.Free;
end;

Testnij to.
 
Do góry Bottom