| |
|
|
- Página 1 - |
|
| ¡Hola,
el Función GetItemText no trabajo para mí, si yo el LV no en el Ventana principal (%hWnd) erstelle. KompilierenMarcaSeparación -> KompilierenMarcaSeparación ->
Yo habe el gleiche Problema con v1.6 y v1.7.
Woran puede mentira? - Mache Yo qué falso?
Gracias para Eure Mithilfe Thomas |
|
|
| |
|
|
|
| |
|
- Página 1 - |
|
Michael Wodrich | [quote:cc5b333cb1=Gast] @Michael: Como bschrieben es GB2& una GroupBox, erstellt con Crear(Groupbox,%hWnd,Texto,0.0.100,100)[/quote:cc5b333cb1] Das Problema es sí simplemente, daß wir Su código no sehen puede. So es natürlich una Ayuda no posible. Hier hast Usted z.B. simplemente una Tippfehler (Punkte en lugar de Kommata) gemacht. Como el en el echten Code aussieht - na sí...
Como wirst Usted entonces wohl veces debuggen necesario. Einfach para cada Element, el beteiligt es una Datenausgabe escribir. Ist el gelieferte Handle wirklich ungleich null usw. Auf esta Art mußt Usted Usted entonces a el Fehler herantasten. Evtl. en lugar de el Code-Einfügungen auch el richtigen Debugger benutzen - dazu es él sí como...
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 14.10.2005 ▲ |
|
|
|
|
Frank Abbing | So, Invitado Thomas.
Jetzt podría ego testen. GetItemText() funktioniert einwandfrei auch con Dialogfenstern! Usted machst also irgendwo una otro Fehler, wahrscheinlich el Syntaxfehler, como ihn Michael sí ya beschrieben hatte.
Poste Por favor, nächstes Tiempo siempre una kompletten Minimalsource, de los Problema aufweist, el du informe möchtest. Ansonsten es una Fehlersuche simplemente no nachvollziehbar. |
|
|
| |
|
|
|
| Ok, OK.
una Syntaxfehler kann Yo definitiv ausschließen, porque si yo GB2& gegen %hWnd tausche, funktionierts! Außerdem voluntad Syntaxfehler gemeldet, aber hier Yo una kurzes Listing vorbereitet: KompilierenMarcaSeparacióndeclare 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&
el wars!
FIN
Hier kann Yo zwar en GB2 el Markierung conjunto / löschen, aber ausgewertet se ellos no...
mfG Thomas
P.S. Auf Wunsch schicke Yo el DB como ZIP a. |
|
|
| |
|
|
|
| |
|
| |
|
|
| |
|
- Página 2 - |
|
|
| Bitte bearbeite Su obiges Posting y se sientan el Tags.
Und como kann Yo mein Posting bearbeiten? Oder se Yo neu enstellen ( con Tags)?
mfG Thomas |
|
|
| |
|
|
|
Michael Wodrich | [quote:208ea1fd54=Gast]Und como kann Yo mein Posting bearbeiten?[/quote:208ea1fd54] Usted findest antes el Ende cada Postings - also encima el gestrichelten Linie unten - en el rechten Página folgendes:
Editieren, Cita
Mit Editieren kannst Usted cada incluso erstellte Posting nachträglich todavía una vez bearbeiten.
Mit Cita kannst Usted una fremdes Posting Cita. Das debería natürlich sólo benutzt voluntad, si una bastante cierto Teil Cita möchtest.
En Cita gilt: je kürzer, desto mejor - lösche alles unwichtige de el QUOTE-Tag heraus - aber: Zitate Por favor, no verfälschen.
Schöne Grüße Michael Wodrich
PS: En el Gráficos encima el Editar campo kannst Usted con # el CODE-Tag (para el Programmcodes) abierto y schliessen y el Sprechblase daneben el QUOTE-Tag (Así que el Zitate). |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 16.10.2005 ▲ |
|
|
|
|
Michael Wodrich | Zu Deinem Code:
Ist No aufgefallen, daß Usted GB2& - todavía leer (= 0) - con InitMessages benutzt y sólo später el Handle hineinpackst?
Usted siehst: manchmal hilft lo, algo auführlichere Schnipsel para enviar...
[quote:a04aee18a3]Como wirst Usted entonces wohl veces debuggen necesario. Einfach para cada Element, el beteiligt es una Datenausgabe escribir. Ist el gelieferte Handle wirklich ungleich null usw. Auf esta Art mußt Usted Usted entonces a el Fehler herantasten.[/quote:a04aee18a3] ...y dieser Tipp de más oben zeigt Usted, daß esta Fehlerart wohl algo häufiger vorkommt como uno lo wünscht.
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 16.10.2005 ▲ |
|
|
|
|
| [quote:e6f458e01b=Michael Wodrich][quote:e6f458e01b=Gast]Und como kann Yo mein Posting bearbeiten?[/quote:e6f458e01b] Usted findest antes el Ende cada Postings - also encima el gestrichelten Linie unten - en el rechten Página folgendes:
Editieren, Cita[/quote:e6f458e01b]Funktioniert el auch para Gäste |
|
|
| |
|
|
|
| Sí, hier Casa » DLL » Listview.dll Foro funktioniert el auch para Gäste solange esta todavía para el Comunidad como el Poster erkennbar son.
Salve.
Apéndice: Yo lo abgestellt como me una Überprüfung anhand el IP a unsicher erscheint. |
|
|
| |
|
|
|
Frank Abbing | Exactamente. Usted puede InitMessages() para una Ventana natürlich sólo aufrufen, si dieses ya erstellt wurde... |
|
|
| |
|
|
|
| Gracias!
Nunja, el komplette Programa besteht z.Zt. de 25 Unterprogrammen con ca. 18800 Zeilen - como puede ser sone Kleinigkeit veces übersehen...
Vielen Dank - auch para Eure Geduld!
Thomas |
|
|
| |
|
|
|
| Haben wir doch gern gemacht.
Thomas registriere Usted doch simplemente - entonces hast Usted hier auch mehr möglichkeiten - z.B. Dateiuploads a Beiträge hängen - oder Beiträge Editar etc.
Dann siehst Usted De todos modos wenns qué Neues son.
Salve. |
|
|
| |
|
|