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

[Pomoc]Pytania


Rekomendowane odpowiedzi

Opublikowano

Witam.

Mam $List1 = GUICtrlCreateList("", 8, 30, 581, 552).

Czy można usuwać pojedyńcze nazwy z listy?

I jak się odnosić do nazw na liście, żeby np. po wybraniu takiej i takiej nazwy i kliknięciu buttona coś się stało?

Jak zrobić, aby po kliknięciu dwa razy na daną nazwę w liście coś się stało np. otworzyła druga lista w miejscu tej?

obraz24.png


Weteran
Opublikowano

If GUICtrlRead($List1) = "nazwa" Then
Run("Paint.exe")
Endif

 

Tu masz jak chcesz np wybrać coś z listy i potem po kliknięciu button'a,

 

coś się stało np. wybierasz z listy paint to uruchamia się paint.

1329036830-U154499.png
Opublikowano

Dzięki. Chciałbym jeszcze załadować listę z Excel'a, można tak zrobić?

Mam taki kod i gdy chcę załadować to pojawia się 0:

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <Excel.au3>

$oExcel= _ExcelBookOpen("D:\arkusz.xls")
$Text = _ExcelReadCell($oExcel, 1, 1)
$cExcel = _ExcelBookClose($oExcel)

$Form1 = GUICreate("Program", 801, 601, 251, 162)
$Button1 = GUICtrlCreateButton("Załaduj", 616, 24, 81, 33, $WS_GROUP)
$List1 = GUICtrlCreateList("", 8, 30, 581, 552)
GUISetState(@SW_SHOW)

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
   GUICtrlSetData($List1, $Text)
EndSwitch
WEnd

obraz24.png


Weteran
Opublikowano

Nie znam się na Excel'owych komendach, próbowałeś

wstawić GUICtrlRead?

 

Wyrzuć to

$cExcel = _ExcelBookClose($oExcel)

1329036830-U154499.png
Opublikowano

Próbowałeś coś debugować ?

 

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <Excel.au3>
$oExcel= _ExcelBookOpen("D:\arkusz.xls")
$Text = _ExcelReadCell($oExcel, 1, 1)
MsgBox(1,$text,$text) ; NA PRZYKLAD W TEN SPOSOB, SPRAWDZ CO CI WYPISUJE. NAUCZ SIE SAMEMU SZUKAC BLEDOW, TAKZE W TEN SPOSOB
$cExcel = _ExcelBookClose($oExcel)
$Form1 = GUICreate("Program", 801, 601, 251, 162)
$Button1 = GUICtrlCreateButton("Załaduj", 616, 24, 81, 33, $WS_GROUP)
$List1 = GUICtrlCreateList("", 8, 30, 581, 552)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
   GUICtrlSetData($List1, $Text)
EndSwitch
WEnd

Opublikowano

Dalej pokazuje się 0.

Może źle używam tego:

$Text = _ExcelReadCell($oExcel, 1, 1) 

 

W sumie to wystarczyłby mi notatnik, tylko jak odczytać tekst np. z dziesiątej linii? Da się tak?

obraz24.png


Opublikowano

Mam problem z IE.au3. W helpie wszystkie komendy są opisane ale nie rozumiem dokładnie, niektóre wyglądają podobnie.

Chciałbym, za pomocą IE.au3 wpisywać coś w poszczególne inputy na stronie i wykonywać kliknięcie tak jak przy FF.au3

 

@Edit Już mam.

    $forma = _IEGetObjByName($oIE, "post")
   $tytul = _IEFormElementGetObjByName($forma, "subject")
   $post = _IEFormElementGetObjByName($forma, "message")

   $wpisz1 = _IEFormElementSetValue($tytul, "asd")
   $wpisz2 = _IEFormElementSetValue($post, "asd")

   $gooo = _IEFormSubmit($forma)

obraz24.png


Opublikowano

Wygrzebałem ze swojego bota...

Pozmieniaj, żeby działało ^^

 

    $formalogowania = _IEFormGetCollection($oIE, 0)
   $polenalogin = _IEFormElementGetObjByName($formalogowania, "login")
   $polenahaslo = _IEFormElementGetObjByName($formalogowania, "pass")
   _IEFormElementSetValue($polenalogin, GUICtrlRead($inputlogin))
   _IEFormElementSetValue($polenahaslo, GUICtrlRead($inputhaslo))
   _IEFormSubmit($formalogowania)

Opublikowano

@up

 

Ło LoL =d

 

$file = FileOpen(@ScriptDir & "/plik.txt", 10) ; flaga 10 = utworzenie gdy nieistnieje + nadpisanie jesli istnieje (wyczyszczenie)

Opublikowano

Kolejny problem :P.

 

 

Na stronie po kliknięciu przycisku pokazuje się pasek wczytywania po czym pojawia się text.

Ja chcę ten text kopiować ale problem w tym, że text jest kopiowany przed jego pojawieniem się.

_IELoadWait() nie pomoże, bo strona nie jest ładowana od nowa.

Ma ktoś jakiś pomysł?

Da się jakoś zrobić żeby program czekał na pojawienie się elementu na stronie?

obraz24.png


Opublikowano

Sprawdzasz, czy podany element istnieje...

Jeśli nie, to czeka do pojawienia się go i wykonuje funkcje o_O

 

Tak trudno pomyśleć?

Opublikowano

Jak mam to zrobić w IE? Bo pomyśleć to pomyślałem ale sprawdzam komendy i żadną mi nie wychodzi.

 

@Edit Dobrze chyba innego rozwiązania nie ma bo mam takie coś.

 

Pole2 - generuje nowy tekst

 

Pole2 na stronie istnieje ciągle tylko jest ukryte.

 

To wszystko jest jeszcze w jednej pętli:

Pewnie trochę na około.


$Linia = 1

Do
$Pole2spr = _IEGetObjById($IECreate, "Pole2")
$KopiujPole2spr = _IEFormElementGetValue($Pole2spr)
FileWriteLine("C:\test\test.txt", $KopiujPole2spr) ; wpisuje zawartość Pola2, WriteLine plik się nie tworzy
$ReadTest = FileReadLine("C:\test\test.txt", $Linia) ;  odczytuje zawartość z ostatnio dodanej linii
$Linia = $Linia + 1
Until $ReadTest = "" ; robi pętlę dopóki nie odczytuje z Pole2 żadnych znaków

FileDelete("C:\test\test.txt") ; jeżeli znaki się pojawią i program wyjdzie z pętli to usuwa dla kolejnej pętli

sleep(1000) ; tak dziwnie bo niby w tamtej pętli czeka a, bez sleep nie zdąży skopiować tego niżej.

$Pole2 = _IEGetObjById($IECreate, "Pole2") ; robi to co ma robić ale nie zawsze zdąży ;/
$KopiujPole2 = _IEFormElementGetValue($Pole2)
FileWriteLine("C:\test\tekstgen.txt", $KopiujPole2)


_IEAction($IECreate, "refresh") ; odświeża stronę, bo w Pole2 po wciśnięciu przycisku "Ponownie" i tak pozostaje wcześniejszy tekst.
_IELoadWait($IECreate)

obraz24.png


Opublikowano

@UP

Nabijasz posty czy pomagasz?

 

Dobra sam już sobie poradziłem.

 

Cofanie się, pewnie tak piszesz, a sam nie wiesz jak pomóc, bo jak byś wiedział to byś pomógł, a jak nie to po co siedzisz tutaj?

obraz24.png


Opublikowano

@up

 

Nabijasz posty?

Wiesz co jest najważniejsze w programowaniu?

Samodzielne radzenie sobie z problemami i wymyślanie prostszych rozwiązań..

Siedzę tutaj i patrzę, jak się męczysz z prostymi rzeczami...

Zamiast pisać ten temat, już dawno byś sobie z tym sam poradził, a przy okazji więcej się nauczył...

 

Wiem jak pomóc, ale sranie babci się skończyło...

Nie będę wrzucać gotowców każdemu, bo się pomyśleć nie chciało..

Takim sposobem się niczego nie nauczysz, więc pamiętaj, nauka jest najlepsza, gdy rozwiązujesz problemy sam..

 

Dziękuję za moje 3 grosze..

 

#Edit

 

Local $value
Local $file = FileOpen("C:\test\tekstgen.txt", 8)

Do
$Pole2spr = _IEGetObjById($IECreate, "Pole2")
$value = _IEFormElementGetValue($Pole2spr)
Until $value <> ""

Sleep(1337)

$Pole2 = _IEGetObjById($IECreate, "Pole2") ; robi to co ma robić ale nie zawsze zdąży ;/
$KopiujPole2 = _IEFormElementGetValue($Pole2)
FileWriteLine($file, $KopiujPole2)

_IEAction($IECreate, "refresh") ; odświeża stronę, bo w Pole2 po wciśnięciu przycisku "Ponownie" i tak pozostaje wcześniejszy tekst.
_IELoadWait($IECreate)

 

Zapisywanie do pliku bez przerwy to nonsens..

Opublikowano

@Edit

Prosto. Na coś takiego wpadłem już wczoraj i uważając, że lepiej nie zorbię napisałem taki kawałek kodu jaki mam. Licząc, że ktoś wpadnie na to jak zrobić bez odświeżania. Tylko klikając przycisk ponownie. "bo w Pole2 po wciśnięciu przycisku "Ponownie" i tak pozostaje wcześniejszy tekst. "

Że nie muszę tworzyć to się dowiedziałem wcześniej ale nie poprawiałem bo skupiałem się na tym co wyżej.

 

 

Wiesz co jest najważniejsze w programowaniu?

Programowanie, myślenie, szukanie no to po co jest ten dział. Nie wiedziałem czegoś to zapytałem. Ty sobie nie poradziłeś z tym o co mi chodziło.

Spróbujesz dalej? Czy sam nie dasz rady.

Jakbyś chciał wiedzieć to siedzę od rana do wieczora, czasami coś obejrzę, posłucham muzyki, napiszę na GG, a tak to gryzę palce i myśle. Jak ktoś nie rozumie to trzeba pomóc, a nie radź sobie sam...

obraz24.png


Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...