AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein ListView Spaltenbreiten in Datei speichern

ListView Spaltenbreiten in Datei speichern

Ein Thema von DieDolly · begonnen am 18. Jul 2018 · letzter Beitrag vom 18. Jul 2018
Antwort Antwort
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#1

AW: ListView Spaltenbreiten in Datei speichern

  Alt 18. Jul 2018, 12:05
Könntest du dazu ein kleines Beispiel bereitstellen?
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.374 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: ListView Spaltenbreiten in Datei speichern

  Alt 18. Jul 2018, 12:20
Könntest du dazu ein kleines Beispiel bereitstellen?
Sorry, soviel Zeit habe ich nebenbei nicht.
Wie man eine INI-Datei verwendet, sollte dir klar sein.
Das Record könnte so aussehen:
Delphi-Quellcode:
MyRecord = Record
  Changed : Boolean;
  TotalWidth : Integer;
  WidthCol1 : Integer;
  WidthCol2 : Integer;
  WidthCol3 : Integer;
 ...
end;

//EDIT:
//Einfacher dürfte es werden, wenn die Spaltenbreiten als Array verwaltet werden.
Die Breite der letzten Spalte musst du dir nicht merken.
Changed muss nach dem Einlesen aus der Ini-Datei mit False vorbelegt werden.
Bei Veränderung der Spaltenbreite setzt du Changed auf True und belegst die Spaltenbreiten mit den neuen Werten.

Wenn du die Daten in der Anwendung neu einliest, musst du die TotalWidth mit dem Wert des ListView vergleichen und daraus einen Umrechnungs-Faktor ermitteln. Mit diesem multiplizierst du dann die eingelesenen Werte der Spalten.

Das ist aber nur ein Beispiel-Ansatz.

Du kannst natürlich auch einfach so eine Komponente verwenden.
Peter

Geändert von Jasocul (18. Jul 2018 um 12:45 Uhr) Grund: Zusätzlicher Gedanke beim Kaffee trinken
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#3

AW: ListView Spaltenbreiten in Datei speichern

  Alt 18. Jul 2018, 12:43
Alles verstanden, bis auf das mit dem Umrechnungsfaktor.
@KodeZwerg ich denke du liest zuviel Zwischen den Zeilen.

Zitat:
Du kannst natürlich auch einfach so eine Komponente verwenden.
Viel Automatismus kann auch viele Probleme verursachen. Dann doch lieber per Hand.

Geändert von DieDolly (18. Jul 2018 um 12:46 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.374 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: ListView Spaltenbreiten in Datei speichern

  Alt 18. Jul 2018, 12:47
Alles verstanden, bis auf das mit dem Umrechnungsfaktor.
Auf dem einen Rechner ist die Breite 300 px und auf dem anderen 450.
Das heißt, alles müsste mit 1,5 (450/300) multipliziert werden. Das wäre dann der Umrechnungsfaktor.
Peter
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#5

AW: ListView Spaltenbreiten in Datei speichern

  Alt 18. Jul 2018, 13:25
Verstehe ich noch immer nicht. Auf einem anderen könnte es genau so gut 200, 300 oder 700 sein.
Warum nicht einfach die Pixel in Prozentumrechnen und abspeichern?
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#6

AW: ListView Spaltenbreiten in Datei speichern

  Alt 18. Jul 2018, 13:30
@DieDolly

Dann gib doch mal ein konkretes Beispiel, wie du dir das vorstellst.

Gesamte Breite und die Breite der Spalten auf dem Rechner A
und wie die Spaltenbreiten auf Rechner B sein sollen, wenn dort die Gesamtbreite = Gesamtbreite auf Rechner A + X ist.

@KodeZwerg
Zu deinem Code aus deinem ersten Beitrag hier solltest du noch schreiben
Zitat:
Betreten der Baustelle verboten.
Eltern haften für ihre Kinder.
Das ist schon sehr grausliger Code

EDIT: Sehe gerade, der ist ja gottlob schon entfernt worden

Geändert von Schokohase (18. Jul 2018 um 13:37 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: ListView Spaltenbreiten in Datei speichern

  Alt 18. Jul 2018, 13:38
Zu deinem Code aus deinem ersten Beitrag hier solltest du noch schreiben
Zitat:
Betreten der Baustelle verboten.
Eltern haften für ihre Kinder.
Das ist schon sehr grausliger Code
IntegerDummy := EineListView.Columns[0].Width; enthält den Wert. Ersetze die "0" mit der "Spalten-Nummer -1" wo Du den Wert brauchst, das setzen geht genauso von statten. EineListView.Columns[0].Width := IntegerDummy; Hilft Dir das?
Absolut, gebe ich 100% Recht und habs entfernt da TE nicht Spaltenbreiten sichern und laden will sondern irgend einen anderen Quatsch.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.374 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: ListView Spaltenbreiten in Datei speichern

  Alt 18. Jul 2018, 13:59
Verstehe ich noch immer nicht. Auf einem anderen könnte es genau so gut 200, 300 oder 700 sein.
Warum nicht einfach die Pixel in Prozentumrechnen und abspeichern?
Viele Wege führen nach Rom.
Peter
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#9

AW: ListView Spaltenbreiten in Datei speichern

  Alt 18. Jul 2018, 14:04
Zitat:
Ich bin gespannt was passiert wenn auf anderem Pc eine andere Dpi gesetzt ist
Wo ist das Problem die kann man ermitteln oder?

gruss
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: ListView Spaltenbreiten in Datei speichern

  Alt 18. Jul 2018, 13:28
ich denke du liest zuviel Zwischen den Zeilen.
Wird wohl so sein. Viel Glück was auch immer Du da machen willst.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz