AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

CheckListBox Items separieren

Ein Thema von Freyr77 · begonnen am 2. Aug 2016 · letzter Beitrag vom 2. Aug 2016
 
Freyr77
(Gast)

n/a Beiträge
 
#1

CheckListBox Items separieren

  Alt 2. Aug 2016, 14:50
Delphi-Version: 10 Seattle
Die hoffentlich letzte Frage zu meinem Projekt..

Ich lasse einen Ordner über TFileOpenDialog auswählen, anschließend suche ich mit "GetFilesInDirectory" nach allen .dproj's in dem gewählten Ordner und speichere Sie in meiner CheckListBox ab. Alles kein Thema, die gewünschten Dateien wurden alle korrekt eingelesen und zugeordnet.

Jetzt durchläuft meine Schleife aber eine bestimmte Prozedur für jedes einzelne .dproj und speichert dieses abschließend in einem StringGrid mit ausgelesenen Datei Informationen. Deshalb bräuchte ich jedes Item der CheckListBox einzeln als String. Sonst kann das Programm das nicht verarbeiten.

Das ganze sieht so aus:

Delphi-Quellcode:
var
  lXMLOutput: string;
  lFileVersionInfo, lFileNameInfo, lProductVersionInfo: string;
  SemikolonPos: integer;
  StringPos: integer;
  iZaehler: integer;
  GefundeneDateien: string;
  Ordnerpfad: string;
  i: integer;
begin
  fVersionInfo := nil;
  with TFileOpenDialog.Create(nil) do
    try
      Options := [fDoPickFolders];
      if Execute then
        Ordnerpfad := Filename;
    finally
      Free;
    end;

  // Rekursive Dateisuche
  GetFilesInDirectory(Ordnerpfad, '*.dproj', ListBox1.Items, True);
  GefundeneDateien := ListBox1.Items.Text;

  // CheckListBox??????
  // Dateien in CheckListBox schreiben
  CheckListBox1.Items.Text := GefundeneDateien;
  CheckListBox1.SelectAll;
  // CheckListBox ausgewählte Dateien


  for i := 0 to CheckListBox1.Items.Count - 1 do
    CheckListBox1.Checked[i];

  for iZaehler := 0 to i - 1 do

  begin
    // XML-Dokument laden
    CurrentXML := NewXMLDocument;
    CurrentXML.LoadFromFile(GefundeneDateien); // Dateinamen einfügen
    CurrentXML.Active := True;

    // XML-Dokument auslesen
    GetVersionInfo(CurrentXML.DocumentElement);
    if fVersionInfo.NodeValue <> 'then
    begin
      // Kompletter VerInfo_Keys Part
      lXMLOutput := fVersionInfo.NodeValue;

      // FileVersion Stringposition, Nummer kopieren und zuweisen
      StringPos := POS('FileVersion=', lXMLOutput);
      SemikolonPos := lXMLOutput.IndexOf(';', StringPos);
      lFileVersionInfo := lXMLOutput.Substring(StringPos + 11,
        SemikolonPos - StringPos - 11);

      // InternalName Stringposition, Substring kopieren und zuweisen
      StringPos := POS('InternalName=', lXMLOutput);
      SemikolonPos := lXMLOutput.IndexOf(';', StringPos);
      lFileNameInfo := lXMLOutput.Substring(StringPos + 12,
        SemikolonPos - StringPos - 12);

      // ProductVersion Stringposition, Substring kopieren und zuweisen
      StringPos := POS('ProductVersion=', lXMLOutput);
      SemikolonPos := lXMLOutput.IndexOf(';', StringPos);
      lProductVersionInfo := lXMLOutput.Substring(StringPos + 14,
        SemikolonPos - StringPos - 14);

      // Überschriften StringGrid
      StringGrid1.Cells[0, 0] := 'Projekt';
      StringGrid1.Cells[1, 0] := 'DateiVersion';
      StringGrid1.Cells[2, 0] := 'ProduktVersion';

      // Vierte Spalte unsichtbar
      StringGrid1.ColWidths[3] := -1;

      // Eintragungen StringGrid
      StringGrid1.Cells[0, iZaehler] := lFileNameInfo;
      StringGrid1.Cells[1, iZaehler] := lFileVersionInfo;
      StringGrid1.Cells[2, iZaehler] := lProductVersionInfo;
Ich hatte schon die Idee das ganze einzeln zu Zerpflücken und dann in Variablen zu speichern. Das ist mir aber zu umständlich, weil es viele Dateien sind.
  Mit Zitat antworten Zitat
 


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 01:34 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