ListView - Überschriftenname statt Zelleninhalt in Variable

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: ListView - Überschriftenname statt Zelleninhalt in Variable

Re: ListView - Überschriftenname statt Zelleninhalt in Variable

by divanebaba » 21 Aug 2020, 17:03

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 :crazy:
Bei der nächsten Überarbeitung meines Codes, werde ich eure Hinweise beherzigen 💚💚

Re: ListView - Überschriftenname statt Zelleninhalt in Variable

by BoBo » 21 Aug 2020, 13:14

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)

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
  }

Re: ListView - Überschriftenname statt Zelleninhalt in Variable

by Frosti » 21 Aug 2020, 13:05

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:

Code: Select all

Gui, ListView, SelItem14
in

Code: Select all

Gui, 14: ListView, SelItem14
Schätze dann setzt er auch die Listview der Gui 14: auf Default

Re: ListView - Überschriftenname statt Zelleninhalt in Variable

by divanebaba » 21 Aug 2020, 12:45

Hallo BoBo.

Du warst so lange weg - ich habe Dich wirklich vermisst :mrgreen: :mrgreen:
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
}
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 :mrgreen: :mrgreen:

Vielen Dank BoBo. Du lagst, wie so oft, wieder goldrichtig mit Deinem Hinweis.

Re: ListView - Überschriftenname statt Zelleninhalt in Variable

by BoBo » 21 Aug 2020, 12:20

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.
:?:

ListView - Überschriftenname statt Zelleninhalt in Variable

by divanebaba » 21 Aug 2020, 11:40

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?

Top