Problem z zapisywaniem zakładek

0

Witam, mam problem, mianowicie:
-Mam otwartą niezapisaną zakładkę. Gdy klikam zapisz, wyskakuje okienko do zapisz jako, gdyż wcześniej nie była zapisana, potem gdy klikam zapisz, zapisuje i wszystko jest ok.
-Ale gdy otwieram 2 zakładkę, wpisuje tam jakiś tekst i klikam "zapisz", program nie reaguje, pomóżcie, jak temu zaradzić.
Oto mój kod do "zapisz":

 
begin
 if Nazwa_pliku <>'' Then

  (PageControl1.ActivePage.Controls[0] as TSynMemo).Lines.SaveToFile(Nazwa_pliku)
  else
  Zapiszjako1Click(Sender);




end;

0

a nie wpadłeś na to, że musisz mieć dla każdej zakładki osobną zmienną Nazwa_pliku?

0

hmm, nie dodałem, że zakładki tworzę dynamicznie, więc jest to raczej nie możliwe.

0

Tablice dynamiczne?

0

a może mała podpowiedź jak to zrobić ? :D początkujący jestem :]

0

To że jesteś początkujący, nie zwalnia cię z samodzielnego wyszukiwania informacji w internecie.

0

@DiKey11: za lenistwo i brak samodzielnego szukania oraz to że dostałeś odpowiedzi, a pytanie w sumie dotyczy podstaw - temat ląduje oczywiście w dziale Newbie, gdzie według mnie jest jego miejsca. Co do pytania, to jeśli nie chcesz używać tablic dynamicznych czy TList/TObjectList do przechowywania nazw, to kto Tobie broni utworzyć sobie obiekt (tym bardziej, ze przeciez chcesz programować w języku, który to umożliwia i pewnie do tego miedzy innymi powstał, bo nawet nazywany jest Obiektowym Pascalem), a później zamiast mnożyć jeszcze dodatkowe zmienne i inne obiekty to skorzystać z własności Tag, który sam komponent PageControl jak i jego zakładki posiadają. Ta własności nie powstała ona tylko po to, żeby przechowywać tam Integer, bo wiadmo że jeśli i Integer przechowa, to można spróbować rzutować oraz przchowac obiekt tak jak to pokazałem w kodzie poniżej. Jasne, ktoś może mi zarzuci, ze nie są to i bardzo banalne podstawy, ale pomyśl: skoro taki lamer jak ja z mała wiedzą na temat Delphi to jakoś ogarnia to i każdy inny może, wystarczy tylko chcieć, a w razie wątpliwosći przed zadaniem pytania na forum zawsze należy googlować, a jak już zadałeś pytanie i dostałeś odpowiedźi jak zmienne / tablica dynamiczna, to googlujesz dalej sam, a nie robisz sobie "quiz" (?) w stylu "100 pytań na forum zamiast na google". Do kolejnej osoby tutaj już dzisiaj napiszę: ogarnij się i zacznij używac google, bo ja rozumiem że są wakacje, ale myśleć trzeba cały czas, a google na szczęśćie wakacji nie ma i nie jest zamykane dla odwiedzających.

//...
type
  TUczSiePodstaw = class(Tobject)
    OrazUzywajGoogle : string;
  end;

procedure TForm1.FormCreate(Sender : TObject);
var
  I : integer;
  TS : TTabSheet;
  UczSiePodstaw : TUczSiePodstaw;
begin
  for I := 0 to PageControl1.PageCount - 1 do
  begin
    TS := PageControl1.Pages[I];
    UczSiePodstaw := TUczSiePodstaw.Create;
    UczSiePodstaw.OrazUzywajGoogle := 'Podstawy człowieku - zakladka numer: ' + IntToStr(I + 1);
    TS.Tag := Integer(UczSiePodstaw);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  TS : TTabSheet;
  UczSiePodstaw : TUczSiePodstaw;
begin
  TS := PageControl1.ActivePage;
  UczSiePodstaw := TUczSiePodstaw(TS.Tag);
  if UczSiePodstaw <> nil then
  begin
    ShowMessage(UczSiePodstaw.OrazUzywajGoogle);
  end;
end;

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