Hallo.
Nach wochenlanger Fehlersuche, bitte ich einen Rat.
Ich habe mehrere ListViews, aus denen ich aus einer beliebigen Zeile die erste Spalte auslese in eine Variable speichere und diese als Referenznummer für andere ListViews nutze.
Manchmal steht aber nicht der Zelleninhalt drin, sondern die Spaltenüberschrift der ListView.
Welcher Fehler kann soetwas verursachen, also nach was soll ich suchen, wie kann ich das vermeiden?
ListView - Überschriftenname statt Zelleninhalt in Variable Topic is solved
Moderator: jNizM
- divanebaba
- Posts: 816
- Joined: 20 Dec 2016, 03:53
- Location: Diaspora
ListView - Überschriftenname statt Zelleninhalt in Variable
Einfach nur ein toller Typ.
Re: ListView - Überschriftenname statt Zelleninhalt in Variable Topic is solved
Code wäre toll.
LV_GetText
Ruft den Text ab, der auf der angegebenen Reihennummer und Spaltennummer zu finden ist, und speichert ihn in AusgabeVar.
LV_GetText(AusgabeVar, Reihennummer , Spaltennummer)
Lässt man Spaltennummer weg, wird standardmäßig 1 verwendet (der Text in der ersten Spalte). Wenn Reihennummer eine 0 ist, wird die Spaltenüberschrift abgerufen.
- divanebaba
- Posts: 816
- Joined: 20 Dec 2016, 03:53
- Location: Diaspora
Re: ListView - Überschriftenname statt Zelleninhalt in Variable
Hallo BoBo.
Du warst so lange weg - ich habe Dich wirklich vermisst
LV_GetText war ebenfalls ein Hauptverdächtiger, doch mein Spaghetticode machte es mir unmöglich zu erfahren, warum möglicherweise keine Zeile ausgewählt oder die zugeordnete Variable des LV_GetText leer bleibt.
Während ich auf eine Lösung aus dem Forum wartete, deaktivierte ich eine ListView-Auffüllbegrenzung zur schnelleren ListView-Anzeige und vermute jetzt, den Fehler gefunden zu haben.
Eine minimierte ListView zur schnelleren Anzeige ist höchstwahrscheinlich die Ursache dafür.
Das Fragen im Forum hat mich motiviert, nochmals gründlicher zu suchen.
Das nenne ich auch hilfreich
Vielen Dank BoBo. Du lagst, wie so oft, wieder goldrichtig mit Deinem Hinweis.
Du warst so lange weg - ich habe Dich wirklich vermisst
LV_GetText war ebenfalls ein Hauptverdächtiger, doch mein Spaghetticode machte es mir unmöglich zu erfahren, warum möglicherweise keine Zeile ausgewählt oder die zugeordnete Variable des LV_GetText leer bleibt.
Während ich auf eine Lösung aus dem Forum wartete, deaktivierte ich eine ListView-Auffüllbegrenzung zur schnelleren ListView-Anzeige und vermute jetzt, den Fehler gefunden zu haben.
Code: Select all
FillListView14:
{
Gui, 14: default
Gui, ListView, SelItem14
LV_Delete()
GuiControl, 14: -redraw, SelItem14
sb_settext("auflisten ...", 1)
Loop, % CSV_TotalRows("14")
{
Row14 := A_Index
LV_Add("", CSV_ReadCell("14", Row14, "1"), CSV_ReadCell("14", Row14, "2"), CSV_ReadCell("14", Row14, "3"), CSV_ReadCell("14", Row14, "4"), CSV_ReadCell("14", Row14, "5"), CSV_ReadCell("14", Row14, "6"), CSV_ReadCell("14", Row14, "7"), CSV_ReadCell("14", Row14, "8"), CSV_ReadCell("14", Row14, "9"), CSV_ReadCell("14", Row14, "10"), CSV_ReadCell("14", Row14, "11"), CSV_ReadCell("14", Row14, "12"), Row14)
; if (A_Index > 249) ; <--- Fehlerquelle für nachfolgende LV_GetText(...)
; break ; <--- Fehlerquelle für nachfolgende LV_GetText(...)
}
Counter14 := LV_GetCount()
CurrText14 =
LV_MODIFY(1, "SELECT")
Gosub LV_DB14_ModifyCol
GuiControl, 14: +redraw, SelItem14
SB_SetText("Treffer: " StandardT, 1)
Return
}
Das Fragen im Forum hat mich motiviert, nochmals gründlicher zu suchen.
Das nenne ich auch hilfreich
Vielen Dank BoBo. Du lagst, wie so oft, wieder goldrichtig mit Deinem Hinweis.
Einfach nur ein toller Typ.
Re: ListView - Überschriftenname statt Zelleninhalt in Variable
Hey divanebaba, schön mal wieder was (verzweifeltes) von Dir zu hören.
Ich hätte noch einen Tip für Dich.
Ändere doch mal: in
Schätze dann setzt er auch die Listview der Gui 14: auf Default
Ich hätte noch einen Tip für Dich.
Ändere doch mal:
Code: Select all
Gui, ListView, SelItem14
Code: Select all
Gui, 14: ListView, SelItem14
Re: ListView - Überschriftenname statt Zelleninhalt in Variable
Moin Mr. D.
noch eine Erleichterung: Integer und floating point-werte brauchen in expressions/Funktion(saufruf)en nicht als "strings" deklariert werden.
CSV_ReadCell("14", Row14, "1") vs CSV_ReadCell( 14, Row14, 1)
noch eine Erleichterung: Integer und floating point-werte brauchen in expressions/Funktion(saufruf)en nicht als "strings" deklariert werden.
CSV_ReadCell("14", Row14, "1") vs CSV_ReadCell( 14, Row14, 1)
Code: Select all
a := 5
b := "6"
msgbox % f(1.2,3,"4", a, b)
f(v1,v2,v3,v4,v5) {
return v1 "`n" v2 "`n" v3 "`n" v4 "`n" v5
}
- divanebaba
- Posts: 816
- Joined: 20 Dec 2016, 03:53
- Location: Diaspora
Re: ListView - Überschriftenname statt Zelleninhalt in Variable
Danke für die hilfreichen Expertentips.
Als Laie bin ich froh, daß mein Code auswirft, was ich erhoffte.
"Integer" und "floating-point" hat für euch sicherlich eine technische Bedeutung, für mich hingegen bedeutet es nur Stress
Bei der nächsten Überarbeitung meines Codes, werde ich eure Hinweise beherzigen
Als Laie bin ich froh, daß mein Code auswirft, was ich erhoffte.
"Integer" und "floating-point" hat für euch sicherlich eine technische Bedeutung, für mich hingegen bedeutet es nur Stress
Bei der nächsten Überarbeitung meines Codes, werde ich eure Hinweise beherzigen
Einfach nur ein toller Typ.