Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Problem AutoIT


Rekomendowane odpowiedzi

Opublikowano
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

#include <EditConstants.au3>

#include <GUIConstantsEx.au3>

#include <StaticConstants.au3>

#include <WindowsConstants.au3>

 

$inini = IniReadSection("config.ini","Kierowca");                             Odczyt z pliku config.ini

 

$Form1_1 = GUICreate("Lista", 214, 72, 362, 155);                    Stworzenie nowego okna o nazwie lista  // Oczywiście dodam później info aby okienko się powiększało.

GUISetFont(10, 400, 0, "MS Sans Serif");                                      Ustawienie domyślnej czcionki

$Label1 = GUICtrlCreateLabel("Kierowca", 0, 0, 105, 33);              Napis "Kierowcy"

GUICtrlSetFont(-1, 17, 400, 0, "MS Sans Serif");                           Czcionka napisu "Kierowcy"

 

$i = 0;  Zmienna $i potrzebna do pętli

$ik = $inini[0][0]

While $i <= $inini[0][0];                                                                   Początek pętli oraz warunek:    Wykonuj dopóki $i jest mniejszy lub równy od Ilości kluczy w pliku config.ini

$i += 1;                                                        Dodaje do $i, 1

Assign('Input' + $i, 'GUICtrlCreateInput("Input1", 0, 24, 113, 24)');  Twoży nową zmienna o nazwie Input + kolejnej liczbie z zmiennej $i

GUICtrlSetState(-1, $GUI_DISABLE)

WEnd

 

GUISetState(@SW_SHOW)

#EndRegion ### END Koda GUI section ###

 

$inini = IniReadSection("config.ini","Kierowca");

GUICtrlSetData(Eval("Input1"),$inini[1][1]);

 

While 1

$nMsg = GUIGetMsg()

Switch $nMsg

Case $GUI_EVENT_CLOSE

Exit

 

EndSwitch

WEnd

 

 

Treść kodu na górze proszę o pomoc czy dobrze myślę i co mam nie tak bo kompilator wywala mi błąd.

Linux pozwoli wycisnąć ostatnią łzę z twojego procesora.

Opublikowano

Napisz jeszcze jaki blad...

#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

$inini = IniReadSection("config.ini","Kierowca");                             Odczyt z pliku config.ini

$Form1_1 = GUICreate("Lista", 214, 72, 362, 155);                    Stworzenie nowego okna o nazwie lista  // Oczywiście dodam później info aby okienko się powiększało.
GUISetFont(10, 400, 0, "MS Sans Serif");                                      Ustawienie domyślnej czcionki
$Label1 = GUICtrlCreateLabel("Kierowca", 0, 0, 105, 33);              Napis "Kierowcy"
GUICtrlSetFont(-1, 17, 400, 0, "MS Sans Serif");                           Czcionka napisu "Kierowcy"


$ik = $inini[0][0]
For $i = 0 To $inini[0][0];                                                                   Początek pętli oraz warunek:    Wykonuj dopóki $i jest mniejszy lub równy od Ilości kluczy w pliku config.ini
$i += 1;                                                        Dodaje do $i, 1
Assign('Input' + $i, 'GUICtrlCreateInput("Input1", 0, 24, 113, 24)');  Twoży nową zmienna o nazwie Input + kolejnej liczbie z zmiennej $i
GUICtrlSetState(-1, $GUI_DISABLE)
Next

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

$inini = IniReadSection("config.ini","Kierowca");
GUICtrlSetData(Eval("Input1"),$inini[1][1]);

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit

EndSw
Opublikowano
Subscript used on non-accessible variable.:

$ik = $inini[0][0]

$ik = $inini^ ERROR

Linux pozwoli wycisnąć ostatnią łzę z twojego procesora.

Opublikowano

Czyli, jest problem z wyczytaniem tego pliku.

ERROR: sets the @error flag to non-zero if unable to read the section (The INI file may not exist or the section may not exist or is empty)

 

Przed tym kodem możesz użyć warunku.

if isarray($inini)
;działa odczyt
else
;nie działa
endif

ew. jak chcesz możesz sprawdzić jak wygląda tablica, poprzez _ArrayDisplay chodź nie jestem pewien czy obsługuje 2 wymiarowe tablice.

Opublikowano

Dziękuję problem naprawiony przed funkcją dałem:

if not @error Then

;Funcja

else

;msgbox(info o błędzie)

.

 

PS. Druga część pytanie czy dobrze myślałem bo chciałem zrobić okienko które będzie się powiększało i będzie do niego dodawane nowe pole input w zależności od ilości kluczy.

Linux pozwoli wycisnąć ostatnią łzę z twojego procesora.

  • 2 tygodnie później...
Opublikowano

UP.

Sory że odkopuje swoj post ale pytanie brzmiało czy moja myśl jest dobra poniewarz zabrałem się za metaprogramowanie ale dzisiaj doszłem już do tego że wystarczyło zrobić tablicę coś w stylu

KOD:

Dim $Bok[32]
$NR = 1
$BokPOCZ = 24
While $NR <= 31
	$NR1 = $NR
	$NR1 = $NR1 - 1
	$IleBokPocz = $NR1 * 21
	$BokMiejsce = $BokPOCZ + $IleBokPocz
	$Bok[$NR] = GUICtrlCreateLabel($NR, 8, $BokMiejsce, 11, 20)
	GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
	$NR = $NR + 1
WEnd

Ten skrypt będzie dodawał co linijkę text z numerem lini

Zmienna $BokPOCZ oznacza od jakiego momętu zaczynają się linie(Taki margines liczony od góry)

$IleBokPocz = $NR1 * [Tutaj napisz jakia gruba jest jedna linijka tzn. co ile pix ma się pokazywać nowy napis]

While $NR <= [Tutaj napisz ile linijek ma się utwożyć]

 

Sory za bezsensowne nazwy zmiennych, a skrypt może komuś się przyda.

 

TEMAT MOŻNA ZAMKNĄĆ

Linux pozwoli wycisnąć ostatnią łzę z twojego procesora.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...