Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: přiřazení do ne předem známé proměnné- Pascal  (Přečteno 1915 krát)

Orkenzo

  • Návštěvník
  • Příspěvků: 49
přiřazení do ne předem známé proměnné- Pascal
« kdy: 27 Listopadu 2011, 20:57:38 »
Potřeboval bych přiřadit do proměnné jejichž název mám uložený v proměné třeba String1. Samozdřejmě proměnná je předem deklarovaná.

Př:
String:='Promenna';
if jinapromenna <= 10 then String1:=String+'a'
else String1:=String+'b';

Jak bych teď přiřadil něco do názvu proměnné v String1? Samozdřejmě tohle je banální situace...ale může se stát že je to docela složité. například v Object packalu mám několik editů a potřeboval bych jejich obsah dostat do arraye.
a[1]:=Edit1.Text;
a[2]:=Edit2.Text;
a[3]:=Edit3.Text;
a[4]:=Edit4.Text;
...atd.

Napadá vás jak tohle udělat bez zbytečného a dlouhého vypisování? Díky

pacholik

  • Závislák
  • ***
  • Příspěvků: 2072
Re:přiřazení do ne předem známé proměnné- Pascal
« Odpověď #1 kdy: 27 Listopadu 2011, 21:42:27 »
To nelze. Můžeš mít pole editů, k těm se v cyklu dostaneš.

Filip Dominec

  • [Proplesk] [Piškot]
  • Stálý člen
  • **
  • Příspěvků: 1157
Re:přiřazení do ne předem známé proměnné- Pascal
« Odpověď #2 kdy: 27 Listopadu 2011, 22:15:51 »
Mimochodem, v Pythonu to jde. Nemluvě o tom, že při použití gtk.Builder se widgety označují jménem jako řetězcem.

locals()["aoeu"]="htnaoeu"

Ale je to trochu nehezké.
« Poslední změna: 27 Listopadu 2011, 22:17:22 od Filip Dominec »
http://www.vrattenamstat.cz/ | Buďme tolerantní k triviálním dotazům; neznamenají "neumím to najít", ale "nejsem si jist, že to je správná cesta".

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re:přiřazení do ne předem známé proměnné- Pascal
« Odpověď #3 kdy: 27 Listopadu 2011, 23:16:12 »
Mimochodem, v Pythonu to jde. Nemluvě o tom, že při použití gtk.Builder se widgety označují jménem jako řetězcem.

locals()["aoeu"]="htnaoeu"

Ale je to trochu nehezké.

No vidíš, já bych to s ohledem na mé znalosti řešil v Pythonu tímto:
exec('%s = "hodnota"'  %String1)
Ovšem v Pascalu to moc nepomůže..
« Poslední změna: 28 Listopadu 2011, 11:20:44 od GdH »

Kedrigern

Re:přiřazení do ne předem známé proměnné- Pascal
« Odpověď #4 kdy: 28 Listopadu 2011, 00:24:22 »
V Pascalu to, ale IMHO nejde.

donny

  • Závislák
  • ***
  • Příspěvků: 1861
Re:přiřazení do ne předem známé proměnné- Pascal
« Odpověď #5 kdy: 28 Listopadu 2011, 09:14:38 »
Jak bych teď přiřadil něco do názvu proměnné v String1? Samozdřejmě tohle je banální situace...ale může se stát že je to docela složité. například v Object packalu mám několik editů a potřeboval bych jejich obsah dostat do arraye.
a[1]:=Edit1.Text;
a[2]:=Edit2.Text;
a[3]:=Edit3.Text;
a[4]:=Edit4.Text;
...atd.

Napadá vás jak tohle udělat bez zbytečného a dlouhého vypisování? Díky
Ja teda Obj.Pascalu uz nijak zvlast nerozumim, ale neni mozne misto Edit1, Edit2... pouzit uz rovnou prvky pole (Edit[1]...)? Pak by to vypadalo nejak takto:

for i := 1 to Length(Edit) do
begin
    a[i] := Edit[i].Text;
end;
archlinux @ i7-6700/GTX1080 8G/32G DDR4/.5TB NVMe/WD RED 3TB | Raspbian 8 @ Raspberry Pi
Ever tried. Ever failed. No matter. Try again. Fail again. Fail better!

 

Provoz zaštiťuje spolek OpenAlt.