Hírek:

Fontos tudnivalók a migrációval kapcsolatban, Kérlek nézd meg a Régi fórumról új fórumra való költözés

Main Menu

UCCNC vezérlő program

Indította gaben, 2024 április 09, 16:54

Előző téma - Következő téma

000000000


000000000

Köszönöm mindenkinek a segitséget!

svejk

"Máris" kipróbáltam élesben a mezők értékeinek beolvasását G-kódba, szupin működik! :)

Ezzel kapcsolatban lennének kérdéseim.

- A "labelnumber" értéke mettől meddig terjedhet? (az ugye evidens, hogy már foglaltakat nem használhatok)

- Mi a különbség a Screen editorban a Create/Delete fülnél a Label és a Textfield közt?
(én csak Textfieldnek tudok labelnumbert adni)

Az eredeti képernyőn levő adatmezők javarészt "fieldnb" típusúak, van ennek jelentősége?

dezsoe

Hova ez a rohanás? :)

- Labelnumbert általában 20000-től szokás indítani (ezek automatikusan el is mentődnek kilépéskor, ha vissza akarod tölteni következő induláskor, akkor azt neked kell megoldani).

- A label az fix felirat, a (text)field az beviteli mező.

- RTFM! [#nezze] [#vigyor3] A nöbö végűeken nincs keret (azért látod mégis, mert a háttérképen ott van). ("The "nb" at the end of the parameter means "no border", so these type of fields will have no visual border on the screen.")

svejk

"(ezek automatikusan el is mentődnek kilépéskor, ha vissza akarod tölteni következő induláskor, akkor azt neked kell megoldani)."

Nekem a fenti ellentmondásnak tűnik, de a lényeg, hogy újraindításkor tényleg nem tartja meg a beírt értéket a Textfield.

No akkor HELP, milyen mezőket  is kellene kreálnom, hogy ne vesszenek el a beírt adatok?[#confused]

zt2c4wh9

A 20000 feletti azonosítójú mezők értékét menti el az UCCNC kilépéskor. Az értékek nem vesznek el, a profil fájlba íródnak a UserTextfields szekcióba. A visszatöltésről neked kell gondoskodni, ha van olyan amit vissza akarsz olvasni, akkor azt a konstruktor makróban megteheted.

dezsoe

Nincs ebben semmi ellentmondás. Ahogy Balázs is írta, kilépéskor mentődnek a 20000-től kezdődő mezők. Ha szükséged van rá legközelebb, akkor az M99998 makróban vissza kell töltened.

Pl.: van egy meződ 20001 számon. Ennek a visszatöltése az M99998-ban:

AS3.Setfieldtext(exec.Readkey("UserTextfields", "20001", "0"), 20001);

(A "0" helyett azt írd, ami akkor jelenjen meg, ha még nem volt mentve érték.)

svejk

Értem! [#heureka]

Tehát már eleve ezért érdemes 20000 számú felettieket használni.

Ezeket aztán mindig elmenti, csak automatikusan nem tölti be, ezért kell a behívni egyesével őket az M99998-ban.

Szupi, köszönöm mindkettőtöknek a gyors segítséget! [#worship]

svejk

Lesz vagy húsz mező, egy paranccsal csoportosan -mondjuk tól-ig-  nem lehet behívni őket?

Na jó, persze kibírom azt a 20 sort... :)

dezsoe

Nem, mert mi van, ha mindet máshogy akarod kezelni? Viszont:

for (int i = 20000; i <= 20010; i++)
  AS3.Setfieldtext(exec.Readkey("UserTextfields", i.ToString(), "0"), i);

zt2c4wh9

Nem muszáj annak 20 kód sor kódnak lennie. :)
El lehet intézni az összeset akár egy például for ciklusban is.

zt2c4wh9

Na, látom Dezsoe épp beelőzött. :)

dezsoe

Álmomból felébresztve... [#circling]

svejk

Sejtettem én, hogy van ennek elegáncsos megoldásai is nem csak gumicsizmás. :) Köszi!

dezsoe

A fene tudja, hogy mennyire elegáns ez a megoldás. Kétségkívül tömör, de én biztos soronként írnám be, a sor végén // után megjegyzéssel, hogy akkor ez a sor melyik adat. Kizárt, hogy egy napnál tovább meg tudnám jegyezni (szerintem addig sem), hogy pl. 20003-as mezőben milyen adatot tárolok... :)