Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Zasady

[TIA Portal V13] Wybór kolekcji zmiennych do zapisu



 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Inne języki
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
lis1994



Dołączył: 21 Wrz 2016
Posty: 1

PostWysłany: Sro Wrz 21, 2016 10:40 am  OP    Temat postu: [TIA Portal V13] Wybór kolekcji zmiennych do zapisu Odpowiedz z cytatem Pisownia

Witam, niestety nie mam zielonego pojęcia o Visual Basic'u a muszę napisać pewien skrypt w programie TIA Portal V13 i jedyne co wiem to to, że wykorzystuje on właśnie VB jednak nie wiem w jakiej wersji, i że będzie to wgrane na panel z Win CE.

Do rzeczy: potrzebuję zrobić coś w stylu wyboru pomiędzy kolekcjami zmiennych za pomocą jednej zmiennej typu int. Próbowałem zrobić to w najprostszy sposób poprzez Select-Case (za mało znam język żeby wymyślić coś lepszego), jednak nie wyszło to najlepiej ze względu na zbyt dużą liczbę zmiennych w kolekcjach. Poniżej umieściłem okrojony fragment tego, co chcę uzyskać.

Może nie wygląda to jak typowy VB tak więc w skrócie wyjaśnię, zmienne poprzedzone "SmartTags" są zmiennymi pomocniczymi typu bool które chcę przepisać do odpowiadających im zmiennych z aktualnie wybranej kolekcji A3_Towa_Step{X}, CTOWA_INDEX ma właśnie służyć do wyboru, do której z kolekcji zmienne mają się aktualnie przepisać, jednak nie wiem jak to uzyskać. Może jest jakaś funkcja która pozwoli mi "wrzucić" wartość z CTOWA_INDEX w te klamerki, coś w stylu "A3_TOWA_STEP{"CTOWA_INDEX"}.EV.YV230". Pewnie się okaże, że jest to banalnie proste jednak tak jak wspominałem - z VB nigdy wcześniej nie miałem styczności, dlatego też proszę o pomoc i jednocześnie przepraszam jeśli moje wypociny wydały się wam pozbawione ładu i składu ;)


Kod:

Select Case CTOWA_INDEX    

   Case 0
        'EV
        SetTag "A3_TOWA_STEP{0}.EV.YV230", SmartTags("YV230_ADM")
        SetTag "A3_TOWA_STEP{0}.EV.YV232", SmartTags("YV232_ADM")
        SetTag "A3_TOWA_STEP{0}.EV.YV233", SmartTags("YV233_ADM")
        SetTag "A3_TOWA_STEP{0}.EV.YV284", SmartTags("YV284_ADM")
        SetTag "A3_TOWA_STEP{0}.EV.YV286", SmartTags("YV286_ADM")
        SetTag "A3_TOWA_STEP{0}.EV.YV291", SmartTags("YV291_ADM")
        SetTag "A3_TOWA_STEP{0}.EV.YV292", SmartTags("YV292_ADM")
        SetTag "A3_TOWA_STEP{0}.EV.YV302", SmartTags("YV302_ADM")
        SetTag "A3_TOWA_STEP{0}.EV.YV310", SmartTags("YV310_ADM")

        
    Case 1
        'EV
        SetTag "A3_TOWA_STEP{1}.EV.YV230", SmartTags("YV230_ADM")
        SetTag "A3_TOWA_STEP{1}.EV.YV232", SmartTags("YV232_ADM")
        SetTag "A3_TOWA_STEP{1}.EV.YV233", SmartTags("YV233_ADM")
        SetTag "A3_TOWA_STEP{1}.EV.YV284", SmartTags("YV284_ADM")
        SetTag "A3_TOWA_STEP{1}.EV.YV286", SmartTags("YV286_ADM")
        SetTag "A3_TOWA_STEP{1}.EV.YV291", SmartTags("YV291_ADM")
        SetTag "A3_TOWA_STEP{1}.EV.YV292", SmartTags("YV292_ADM")
        SetTag "A3_TOWA_STEP{1}.EV.YV302", SmartTags("YV302_ADM")
        SetTag "A3_TOWA_STEP{1}.EV.YV310", SmartTags("YV310_ADM")
                itd.

Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
PeTeR



Dołączył: 29 Maj 2005
Posty: 558
Skąd: Będzin

PostWysłany: Sro Wrz 21, 2016 1:58 pm      Temat postu: Odpowiedz z cytatem Pisownia

Nakrócej, to użyj bloku For Next

Kod:

Dim W as integer
For W = 0 to 2
SetTag "A3_TOWA_STEP{" & Cint(W) & "}.EV.YV230", SmartTags("YV230_ADM")
Next


'
Po wykonaniu otrzymasz coś takiego
SetTag "A3_TOWA_STEP{0}.EV.YV230", SmartTags("YV230_ADM")
SetTag "A3_TOWA_STEP{1}.EV.YV230", SmartTags("YV230_ADM")
SetTag "A3_TOWA_STEP{2}.EV.YV230", SmartTags("YV230_ADM")

_________________
Na co dzień pracuję z komponentami DevExpress
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Inne języki Wszystkie czasy w strefie CET (Europa)

Strona 1 z 1

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Możesz dodawać załączniki na tym forum
Możesz pobierać pliki z tego forum




Debug: strone wygenerowano w 0.10885 sekund, zapytan = 11
contact

| Darmowe programy i porady Jelcyna | Tansze zakupy w Helionie | MS Office Blog |