Autor Téma: ScrollBar1: jak vytisknu polohu  (Přečteno 789 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6161
  • Karma: 44
    • Verze Delphi: W10 + D11
Re:ScrollBar1: jak vytisknu polohu
« Odpověď #15 kdy: 02-12-2021, 18:09:20 »
Ja som si myslel, či nemá niečo od tretej strany. Ale v jeho prípade... Veď iba začína.
K otázke: tú premennú si nadefinoval na najhoršom možnom mieste. Musíš ju definovať ako lokálnu v MyButton.OnClick
« Poslední změna: 02-12-2021, 18:11:26 od Stanislav Hruška »
W10 64b, Delphi 10.4, FireBird 3.08
Expert na kladenie nejasne formulovaných otázok.

Offline max2

  • Mladík
  • **
  • Příspěvků: 82
  • Karma: 0
    • Verze Delphi: RAD Studio 10.2
Re:ScrollBar1: jak vytisknu polohu
« Odpověď #16 kdy: 02-12-2021, 18:21:09 »
Ted uz to chybu nehaze, ale po kliknuti se nic nedeje. Co je spatne ?

Vse relevantni v priloze.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6161
  • Karma: 44
    • Verze Delphi: W10 + D11
Re:ScrollBar1: jak vytisknu polohu
« Odpověď #17 kdy: 02-12-2021, 19:03:09 »
Ok
Rated 1 time
Prečítal si si nejakú knihu pre začiatočníkov? To je základ. Sú aj v češtine. Každý vizuálny komponent mám nejaké vlastnosti. Ty si nenastavil ani jedinú. Skús nad tým porozmýšľať.
Keď som ja začínal, tak som sa takéto veci veru nepýtal. Nemám na to žiadne vzdelanie. V tom čase som už mal slušný vek. Cez 40.
W10 64b, Delphi 10.4, FireBird 3.08
Expert na kladenie nejasne formulovaných otázok.

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 1300
  • Karma: 51
    • Verze Delphi: 10.3
Re:ScrollBar1: jak vytisknu polohu
« Odpověď #18 kdy: 02-12-2021, 19:04:47 »
Great
Rated 1 time
Zhruba takto:

Kód: Delphi [Vybrat]
  1.  var MyEdit: tEdit;
  2.  ...
  3.  MyEdit:=tEdit.Create(self);
  4.  try
  5.   MyEdit.Parent:=self;
  6.   MyEdit.Left:=16;
  7.   MyEdit.Top:=16;
  8.   MyEdit.Width:=200;
  9.   MyEdit.Text:='abc';
  10.   MyEdit.Visible:=true;
  11.  except
  12.   FreeAndNil(MyEdit);
  13.   raise;
  14.  end;

Offline max2

  • Mladík
  • **
  • Příspěvků: 82
  • Karma: 0
    • Verze Delphi: RAD Studio 10.2
Re:ScrollBar1: jak vytisknu polohu
« Odpověď #19 kdy: 02-12-2021, 19:14:17 »
Tvuj kod funguje, ale chtel jsem, aby se pridavaly TEdity jeden pod druhym.
Takto se pridal jen jediny.  :(
Diky i tak.

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 1300
  • Karma: 51
    • Verze Delphi: 10.3
Re:ScrollBar1: jak vytisknu polohu
« Odpověď #20 kdy: 02-12-2021, 19:21:13 »
Tvuj kod funguje, ale chtel jsem, aby se pridavaly TEdity jeden pod druhym.
Takto se pridal jen jediny.  :(
Diky i tak.

To už zůstává na samostatné práci laskavého čtenáře - v nějaké proměnné si pamatovat naposledy použitou pozici, tu příště zvětšit a ten nový tEdit dát na ni.

Offline max2

  • Mladík
  • **
  • Příspěvků: 82
  • Karma: 0
    • Verze Delphi: RAD Studio 10.2
Re:ScrollBar1: jak vytisknu polohu
« Odpověď #21 kdy: 02-12-2021, 19:27:12 »
SKoro to mam, s tim detailem, ze nevim kde **inicializovat** tu promennou.
Kdyz ji inicializuji pod `var`ci ve `var` tak to hodi chybu.

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 1300
  • Karma: 51
    • Verze Delphi: 10.3
Re:ScrollBar1: jak vytisknu polohu
« Odpověď #22 kdy: 02-12-2021, 19:28:59 »
SKoro to mam, s tim detailem, ze nevim kde **inicializovat** tu promennou.
Kdyz ji inicializuji pod `var`ci ve `var` tak to hodi chybu.

Formulář má událost (event) OnCreate, tak třeba tam.

Offline max2

  • Mladík
  • **
  • Příspěvků: 82
  • Karma: 0
    • Verze Delphi: RAD Studio 10.2
Re:ScrollBar1: jak vytisknu polohu
« Odpověď #23 kdy: 02-12-2021, 19:41:28 »
Zkusil jsem toto

Kód: Delphi [Vybrat]
  1. procedure TForm1.FormCreate(Sender: TObject);
  2. begin
  3.    B:=200;
  4.   lbRegExp.ItemIndex := 0;
  5.   lbRegExpClick(lbRegExp);
  6. end;


ale furt je B nula.


Dekuji za vsechny odpovedi dnes,pomohly.

Snad kdyby jeste nekdo doporucil literaturu (knihu v CJ) k Delphi a RAD Studio 10.2.
« Poslední změna: 02-12-2021, 19:45:03 od max2 »

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 1300
  • Karma: 51
    • Verze Delphi: 10.3
Re:ScrollBar1: jak vytisknu polohu
« Odpověď #24 kdy: 02-12-2021, 19:44:44 »
A máš tu proměnnou deklarovanou v "private" části toho formuláře?

Offline max2

  • Mladík
  • **
  • Příspěvků: 82
  • Karma: 0
    • Verze Delphi: RAD Studio 10.2
Re:ScrollBar1: jak vytisknu polohu
« Odpověď #25 kdy: 02-12-2021, 19:49:29 »
takto to mam:

Kód: Delphi [Vybrat]
  1.  
  2.  
  3.   private
  4.  var C: integer;
  5.     { Private declarations }
  6.   public
  7.     { Public declarations }
  8.   end;
  9.  
  10. var
  11.   Form1: TForm1;
  12. Btn: TEdit;
  13. MyEdit: TEdit;
  14. B: integer;
  15.  
  16. implementation
  17.  
  18. {$R *.dfm}
  19.  
  20.  
  21. procedure TForm1.Button1Click(Sender: TObject);
  22. begin
  23.   if TRegEx.IsMatch(EditText.Text, MemoRegEx.Lines.Text) then
  24.     ShowMessage('Text h match the regular expression')
  25.   else
  26.     ShowMessage('Text v NOT match the regular expression');
  27.  
  28. end;
  29.  
  30. procedure TForm1.Button2Click(Sender: TObject);
  31. begin
  32.    MyEdit:=tEdit.Create(self);
  33.  try
  34.   MyEdit.Parent:=self;
  35.   MyEdit.Left:=16;
  36.   MyEdit.Top:=16+C;
  37.   MyEdit.Width:=200;
  38.   MyEdit.Text:='abc';
  39.   MyEdit.Visible:=true;
  40.   C:=C+10;
  41.  except
  42.   FreeAndNil(MyEdit);
  43.   raise;
  44.    end;
  45. end;
  46.  
  47. procedure TForm1.FormCreate(Sender: TObject);
  48. begin
  49.    C:=200;
  50.   lbRegExp.ItemIndex := 0;
  51.   lbRegExpClick(lbRegExp);
  52.   end;
  53.  
  54.  

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 1300
  • Karma: 51
    • Verze Delphi: 10.3
Re:ScrollBar1: jak vytisknu polohu
« Odpověď #26 kdy: 02-12-2021, 19:51:30 »
Tak teď už to přidává, ne? Akorát teda ten posun o 10 px bude málo.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6161
  • Karma: 44
    • Verze Delphi: W10 + D11
Re:ScrollBar1: jak vytisknu polohu
« Odpověď #27 kdy: 02-12-2021, 19:52:50 »
Great
Rated 1 time
Ja síce neviem načo sa používa "B", takže neviem či musí byť var alebo stačí const.
Len upozornenie.

MyEdit.Parent:=self; -> vďaka tomu tlačidlo vôbec uvidíš. Určuje komponent na ktorom bude ležať. Klasicky to býva TPanel.
Otázka: chceš s tými tlačidlami neskôr niečo robiť? Určite áno, ináč by si ich netvoril. Lebo teraz sa to nedá. Ale prosím založiť novú tému!


Neriadiš sa tým čo Ti píšem. Tu nereagujem. Až v novej téme.
« Poslední změna: 02-12-2021, 19:55:27 od Stanislav Hruška »
W10 64b, Delphi 10.4, FireBird 3.08
Expert na kladenie nejasne formulovaných otázok.

Online Jirka

  • Hrdina
  • ****
  • Příspěvků: 445
  • Karma: 9
    • Verze Delphi: XE2
Re:ScrollBar1: jak vytisknu polohu
« Odpověď #28 kdy: 02-12-2021, 20:15:24 »
Great
Rated 1 time
... Neriadiš sa tým čo Ti píšem. Tu nereagujem. ...
To by se mělo do kamene vytesat  ;)

Jinak předem gratuluji k blížícímu se 6000 příspěvku

Offline max2

  • Mladík
  • **
  • Příspěvků: 82
  • Karma: 0
    • Verze Delphi: RAD Studio 10.2
Re:ScrollBar1: jak vytisknu polohu
« Odpověď #29 kdy: 02-12-2021, 20:17:06 »
zalozeno zde:

https://forum.delphi.cz/index.php/topic,17609.new.html#new