| |
|
|
- page 1 - |
|
| Salut,
qui Funktion GetItemText funktioniert chez Je ne, si je cela LV pas sur dem Hauptfenster (%hWnd) erstelle. KompilierenMarqueSéparation -> KompilierenMarqueSéparation ->
j'ai cela gleiche Problem avec v1.6 et v1.7.
Woran peux cela liegen? - fais je quoi faux?
merci pour Eure Mithilfe Thomas |
|
|
| |
|
|
|
| |
|
- page 1 - |
|
Michael Wodrich | [quote-part:cc5b333cb1=Gast] @Michael: comment bschrieben ist GB2& une GroupBox, erstellt avec Créer(Groupbox,%hWnd,Text,0.0.100,100)[/quote-part:cc5b333cb1] cela Problem ist oui simple, qui wir Deinen Code pas voyons peut. So ist naturellement une Aider pas possible. ici la hâte Du z.B. simple une Faute de frappe (Punkte statt Kommata) gemacht. comment cela im echten Code aussieht - eh bien...
là wirst Du ensuite wohl la fois debuggen doit. simple pour chaque Element, cela beteiligt ist une Datenausgabe écrivons. Ist cela gelieferte Handle wirklich ungleich zéro usw. sur cet Art dois Du toi ensuite à den faute herantasten. Evtl. statt qui Code-Einfügungen aussi den richtigen Debugger benutzen - en supplément ist il oui là...
belle Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 14.10.2005 ▲ |
|
|
|
|
Frank Abbing | So, Invité Thomas.
maintenant konnte ego testen. GetItemText() funktioniert einwandfrei aussi avec Dialogfenstern! tu fais alors irgendwo une anderen faute, wahrscheinlich den Syntaxfehler, comment ihn Michael oui déjà beschrieben hatte.
Poste s'il te plaît nächstes la fois toujours une kompletten Minimalsource, qui cela Problem aufweist, cela du annoncer vouloir. Ansonsten ist une Fehlersuche simple pas nachvollziehbar. |
|
|
| |
|
|
|
| Ok, OK.
une Syntaxfehler peux je définitif ausschließen, car si je GB2& vers %hWnd tausche, funktionierts! Aussi volonté Syntaxfehler gemeldet, mais ici habe je un kurzes Listing vorbereitet: KompilierenMarqueSéparationdeclare GB1&,GB2&,GB3&,GB4&,LV1&,LV2&,lvdll&
declare ende&,btn&,txt1&,txt2&
declare LVmarked&,LineMarked&,IsMarked&
declare LV_Mem#,LVItemText$
dim LV_Mem#,256
CLS
ListView DLL & Funktionen bereitstellen
lvdll& = UseDLL("Listview.dll")
$I LV_FUNCTION.INC
InitMessages(%HWnd)
InitMessages(GB2&)
Bildschirmmaske aufbauen
GB1& = Create("Groupbox",%hWnd," Groupbox #1 - Handle des LV auf %hWnd ", 10, 10,300,180)
GB2& = Create("Groupbox",%hWnd," Groupbox #2 - Handle des LV auf GB2& " , 10,210,300,180)
GB3& = Create("Groupbox",%hWnd,"" ,310,140,160, 50)
GB4& = Create("Groupbox",%hWnd,"" ,310,340,160, 50)
txt1& = Create("TEXT" ,GB3& ,"..." , 10, 12,140, 30)
txt2& = Create("TEXT" ,GB4& ,"..." , 10, 12,140, 30)
btn& = Create("Button" ,%hWnd,"DATEN WERDEN EINGELESEN..." , 10,400,620, 30)
ende& = Create("Button" ,%hWnd,"Beenden" ,530, 10,100,380)
EnableWindow btn& ,0
EnableWindow ende&,0
LV erstellen
dieses LV wird auf dem Hauptfenster erstellt
LV1& = CreateListView(%hWnd,%HInstance,RGB(0,0,0),RGB(0,127,127),-1,$25)
InsertColumn LV1&," " ,40,0
InsertColumn LV1&,"LS- Nr." ,90,0
InsertColumn LV1&,"Art.-Nr.",90,0
und dieses auf der Groupbox, die auf dem Hauptfenster erstellt wurde
LV2& = CreateListView(GB2&,%HInstance,RGB(0,0,0),RGB(127,127,127),-1,$25)
InsertColumn LV2&," " ,40,0
InsertColumn LV2&,"LS- Nr." ,90,0
InsertColumn LV2&,"Art.-Nr.",90,0
Einlesen der DB
LS_NR und ART_NR sind alphanumerisch (C,10)
dbOPEN(#1,"LS")
dbUse(#1)
Einlesen
WhileNot %dbEOF
dbGo(&Loop -1)
SetItem LV1&,"",Trim$(dbGet$("LS_NR")),Trim$(dbGet$("ART_NR")),Str$(&LOOP +1)
SetItem LV2&,"",Trim$(dbGet$("LS_NR")),Trim$(dbGet$("ART_NR")),Str$(&LOOP +1)
WEnd
dbClose(#1)
Anzeigen der LVs
ShowListView(LV1&,20,30,252,150)
ShowListView(LV2&,10,20,252,150)
Beginn des Auslesens
SetText btn&,"Zum Auslesen markieren, dann hier klicken..."
EnableWindow ende&,1
EnableWindow btn& ,1
While 1
CLEAR LV_Mem#,LVmarked&,LineMarked&,IsMarked&,LVItemText$
WaitInput
If %GetFocus = ende&
Beenden
break
endif
If %GetFocus = btn&
Wurde in einem LV markiert?
GetChecked(Addr(LVmarked&),Addr(LineMarked&),Addr(IsMarked&))
If IsMarked&
GetItemText(LVmarked&,LV_Mem#,2,LineMarked&)
LVItemText$ = String$(LV_Mem#,0)
If LVmarked& = LV1&
SetText txt1&,LVItemText$
SetText txt2&,"..."
Else
SetText txt1&,"..."
SetText txt2&,LVItemText$
EndIf
SetCheckboxState(LVmarked&,LineMarked&,0)
EndIf
EndIf
WEnd
Handling abschalten
CloseMessages(GB2&)
CloseMessages(%HWnd)
Speicher aufräumen
Dispose clv1#
Dispose clv2#
Dispose clvall#
Dispose lvitem#
DLL entladen
FreeDLL lvdll&
cela wars!
FIN
ici peux je zwar dans GB2 qui Markierung mettons / effacer, mais ausgewertet wird vous pas...
mfG Thomas
P.S. sur Wunsch schicke je qui DB comme ZIP trop. |
|
|
| |
|
|
|
| |
|
| |
|
|
| |
|
- page 2 - |
|
|
| s'il te plaît bearbeite Dein obiges Posting et mets qui Tags.
et comment peux je mon Posting Travailler? ou bien soll je es récente enstellen ( avec Tags)?
mfG Thomas |
|
|
| |
|
|
|
Michael Wodrich | [quote-part:208ea1fd54=Gast]et comment peux je mon Posting Travailler?[/quote-part:208ea1fd54] Du findest avant dem Ende chaque Postings - alors sur qui gestrichelten ligne number unten - sur qui rechten page folgendes:
éditer, Citation
avec éditer peux Du chaque selbst erstellte Posting nachträglich encore einmal Travailler.
avec Citation peux Du un fremdes Posting Citation. cela sollte naturellement seulement benutzt volonté, si Du une entier certain partie Citation vouloir.
chez Citation gilt: je kürzer, desto besser - lösche alles unwichtige aus dem QUOTE-journée heraus - mais: Zitate s'il te plaît pas verfälschen.
belle Grüße Michael Wodrich
PS: chez den Grafiken sur dem Modifier le champ de peux Du avec # cela CODE-journée (pour qui Programmcodes) ouvrir et schliessen et qui Sprechblase daneben cela QUOTE-journée (alors qui Zitate). |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 16.10.2005 ▲ |
|
|
|
|
Michael Wodrich | trop Deinem Code:
Ist Dir pas aufgefallen, qui Du GB2& - encore vide (= 0) - avec InitMessages benutzt et seulement später cela Handle hineinpackst?
tu vois: quelquefois hilft es, quelque chose auführlichere Schnipsel trop posten...
[quote-part:a04aee18a3]là wirst Du ensuite wohl la fois debuggen doit. simple pour chaque Element, cela beteiligt ist une Datenausgabe écrivons. Ist cela gelieferte Handle wirklich ungleich zéro usw. sur cet Art dois Du toi ensuite à den faute herantasten.[/quote-part:a04aee18a3] ...et cette Tipp de plus dessus zeigt Dir, qui cet Fehlerart wohl quelque chose häufiger vorkommt comme on es sich wünscht.
belle Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 16.10.2005 ▲ |
|
|
|
|
| [quote-part:e6f458e01b=Michael Wodrich][quote-part:e6f458e01b=Gast]et comment peux je mon Posting Travailler?[/quote-part:e6f458e01b] Du findest avant dem Ende chaque Postings - alors sur qui gestrichelten ligne number unten - sur qui rechten page folgendes:
éditer, Citation[/quote-part:e6f458e01b]Funktioniert cela aussi pour Gäste |
|
|
| |
|
|
|
| oui, ici Maison » DLL » Listview.dll Forum funktioniert cela aussi pour Gäste solange cet encore pour qui Community comme qui Poster erkennbar sommes.
Salve.
Nachtrag: je hab es abgestellt là mir une Überprüfung anhand qui IP trop unsicher erscheint. |
|
|
| |
|
|
|
Frank Abbing | oui c'est ca. tu peux InitMessages() pour un la fenêtre naturellement seulement appel, si cet bereits erstellt wurde... |
|
|
| |
|
|
|
| merci!
Nunja, cela komplette Programme besteht z.Zt. aus 25 Unterprogrammen avec ca. 18800 Zeilen - là peux on sone Kleinigkeit la fois übersehen...
Vielen Dank - aussi pour Eure patience!
Thomas |
|
|
| |
|
|
|
| avons wir doch gern gemacht.
Thomas registriere toi doch simple - ensuite la hâte Du ici aussi plus möglichkeiten - z.B. Dateiuploads à Posts hängen - ou bien Posts éditer etc.
ensuite vois Du De toute façon wenns quoi Neues gibt.
Salve. |
|
|
| |
|
|