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

[help] szybka pomoc.


Rekomendowane odpowiedzi

Opublikowano

Siemaneczko.

Musimy ustalić coś na początku- jestem noobem.

A teraz przejdźmy do rzeczy:

Jak przypisać plik do zmiennej (chodzi tu o plik txt)

Chodzi mi o to, że chcę aby odczytywało to, co jest zapisane w tym pliku i dodawało do zmiennej "lol".

 

kod:

 

(...)
$2 = C:\Users\Macu\Documents\tajne\poufne.txt
$3 = $1 + $2
MsgBox (1, "tajne", $3)
(...)

 

PS: sorka za lekkie błędy w kodzie, nie poprawiajcie mnie. Po prostu nie kopiowałem go, tylko napisalem juz na forum.

Opublikowano

Ok, dzięki.

Teraz problem z innej beczki:

 

 

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
GUICreate("Form1", 101, 101, 0, 0)
$Button1 = GUICtrlCreateButton("Stan Konta", 16, 56, 65, 25, $WS_GROUP)
$ID1 = GUICtrlCreateInput("Input1", 0, 8, 97, 22)
GUISetState(@SW_SHOW)
$1=GuictrlRead($ID1)
$2=FileRead(tajne/poufne.txt")
$3=$1+$2

 

potrzebuje, aby ten program robił (po kolei)

1.musi przyjąć daną z input ($1)

2.dodac ja do $2 (wyjdzie wtedy $3)

3. Zamienić $2 (czyli jakby tekst z notatnika) na $3

4. Wyświetlić $3

 

Proszę o pomoc w punkcie 3, czyli w zamianie :)

Jeśli ktoś by mnie nakierował, to daje lubie i 5.

PS: proszę nie dawać gotowców, ale wskazówki i rady.

Opublikowano

1. Funkcja Guictrlread(zmienna ktora tworzyles kontrolke)

2.$3= to co wyzej+ $2

3. $2=$3

4. np. przez msgbox :

msgbox(0,'',$3)

Opublikowano

Nie rozumiemy się :D

Napiszę ok nowa jak to ma działać.

1. Ma wyśliwetlać GUI

2. User wprowadza jakąś liczbę.

3. Liczba ta dodawana jest do liczby, która już znajduje się w pliku txt, tworząc zmienną.

4. Zmienna ta (wynik dodawania) zastępuje to, co jest w pliku txt.

Czyli jeśli otworzę ten plik txt, i napisze 10, potem otworze program i wpisze tam 5, to jeśli znów otworze ten plik zamias 10 będzie tam 15.

Opublikowano

@up jeszcze tylko powiedz mi jak wpisać w filewrite backspace. Tak, żeby usuwało poprzednią treść (próbowałem na zasadzie {BS} lub {backspace} :D Ale w tej funkcji to nie działa :()

Opublikowano

2. User wprowadza jakąś liczbę. : aby zczytać tą liczbę używasz GUICtrlRead() i zapisujesz pod jakąś zmienną. np: $jakas=guictrlread($input1)

3.i 4 Liczba ta dodawana jest do liczby, która już znajduje się w pliku txt, tworząc zmienną.

$nowazmienna=Fileread('plik.txt')+ $jakas (ta co wyzej)

filedelete('plik.txt') - usuwamy plik w celu wyczyszczenia jego zawartości

filewrite('plik.txt',$nowazmienna)

 

Jak nie chcesz usuwać to mozesz caly plik zczytać i wsadzic pod funkcje stringregexpreplace() zeby zamienic kod na "" czyli na puste pole...ale mysle ze skoro to poczatki to usuniecie Ci wystarczy :)

Opublikowano

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
GUICreate("Test GUICtrlRead:", 200, 110,260,200)
$ID1=GUICtrlCreateInput("dzisiejsze dochody", 3, 3, 190, 100)
GUISetState()
FileOpen ("pli")
$1=GuictrlRead($ID1)
$2=FileRead("plik")
$3=Fileread("plik")+ $2
filedelete("plik")
FileWrite("plik", $3)
MsgBox (1, "lol", $3)

 

Ostatni problem. W input nie mogę "zatwierdzić", że już skończyłem.

tzn. klikam enter, ale program nie wie, że już powinien sczytać z input. Naprawi ktoś?

PS: mam jakiś dziwny bug: jeśli usunę z kodu msgbox, to wtedy aplikacja pojawia się i po za chwilkę znika.

PS2: zmieniłem ścieżki do plików na "plik".

Opublikowano
PS: mam jakiś dziwny bug: jeśli usunę z kodu msgbox, to wtedy aplikacja pojawia się i po za chwilkę znika.

a czego oczekujesz?

 

Stwórz buttona, i zapisuj dane do pliku po jego naciśnięciu.

 

taki fajny tutek^^

http://www.mpcforum...._gui%20tutorial

Opublikowano

To nie dziwny bug tylko logiczne zachowanie programu. Wykonał to co miał wykonać i wyszedł, nic go tam nie zatrzymało. Co zrobić aby go zatrzymać?

Użyć głównej pętli while .

Przyklad budowy programu w AutoIT[pseudokod]:

1.includy czyli udf z funkcjami z ktorych korzystac bedziemy w programie
2.deklaracje zmiennych 
3.pętla głowna while:
while 1 
sleep(100)
wend

4.funkcje ktore sami piszemy

Taki układ jest najczytelniejszy.

 

Co do zatwierdzania enterem, proponuje zrobic oddzielna funkcje do wykonania naszej operacji i przypisać ją do hotkey'a, oraz dodać pętlę główną ,żeby program się nie zamykał.

Hotkey jest to 'goracy klawisz' w wolnym tlumaczeniu, oznacza to,że przypisujemy jakiś klawisz do wykonania okreslonej funkcji. Przykład:

 

hotkeyset("{ENter}","zczytaj") 

Po nacisnieciu klawisza ENTER wykona funkcję zczytaj.

Teraz pokaze jak pownna wyglądać ta funkcja zczytaj w Twoim przypadku:

func zczytaj()

$1=GuictrlRead($ID1)
$2=FileRead("plik")
$3=Fileread("plik")+ $1
filedelete("plik")
FileWrite("plik", $3)
MsgBox (1, "lol", $3)
endfunc

 

A cały program:


#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
HotKeySet("{ENter}",'zczytaj')
GUICreate("Test GUICtrlRead:", 200, 110,260,200)
$ID1=GUICtrlCreateInput("dzisiejsze dochody", 3, 3, 190, 100)
GUISetState()

While 1
Sleep(100)
WEnd





func zczytaj()
$1=GuictrlRead($ID1)
$2=FileRead("plik")
$3=Fileread("plik")+ $1
filedelete("plik")
FileWrite("plik", $3)
MsgBox (1, "lol", $3)
EndFunc

 

 

 

A teraz zmykaj tutaj:

http://www.mpcforum.pl/topic/161158-tut-full-autoit-v3-tutorial/

I się ucz ...:)

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...