Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Fragen zu List- und Combobox (https://www.delphipraxis.net/80666-fragen-zu-list-und-combobox.html)

Newcomer411 13. Nov 2006 13:39


Fragen zu List- und Combobox
 
Hallo,
habe hier ein paar fragen zu den oben genannten kompos:

1. Ich habe eine Combobox als Kategorie und eine Listbox für die Einträge. Die Daten die ich speicher werden mit Ini-File gespeichert.

Nun möchte ich das ich Einträge von der Listbox die in der Kategorie "X" vorhanden sind in die Listbox der Kategorie "XY" verschieben.
Aber ich habe nur eine Listbox und eine Combobox. Eigentlich will ich also Einträge die in der Datei X gespeichert sind in die Datei XY verschieben.

2. Wie realisiere ich das Suchen von Einträgen in einer Listbox unabhängig von der Kategoriewahl?

3. Wenn in einer Listbox ein Eintrag vorhanden ist und ich den gleichen Eintrag hinzufüge, soll hinter den zweiten Namen eine "(2)" automatisch geschrieben werden. logischerweiße beim dritten gleichen eintrag eine (3).....

Ich hoffe Ihr versteht mein Anliegen.

Gruß

marabu 13. Nov 2006 14:50

Re: Fragen zu List- und Combobox
 
Hallo,

vielleicht ist es besser, wenn du deine Fragen mit ein paar Beispieldaten unterlegst, denn ich habe den Verdacht, dass ich unter Kategorie etwas anderes verstehe als du.

Freundliche Grüße

Newcomer411 13. Nov 2006 18:37

Re: Fragen zu List- und Combobox
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hier habe ich mal ein Bild von meinem Programm und die Daten Wie sie gespeichert werden.

Code der von der Listbox ausgeht, wenn man speichert.
Code:
[Galaxywars]
url=www.galaxywars.de
loginname=MeinLoginName
loginpass=MeineLoginKennung
email=MeineE-MailAdresse
notes=MeineNotzizen
[Galaxywars (2)]
url=www.galaxywars.de
loginname=MeinLoginName
loginpass=MeineLoginKennung
email=MeineE-MailAdresse
notes=MeineNotzizen
[Galaxywarsforum]
url=www.galaxywars.de
loginname=MeinLoginName
loginpass=MeineLoginKennung
email=MeineE-MailAdresse
notes=MeineNotzizen
Code der von der Combobox ausgeht, wenn man speichert.
Code:
[Browser Games]
added on=27.09.2006
[E-Mail]
added on=27.09.2006
[Communitys]
added on=28.09.2006
[Host]
added on=02.10.2006
Jetzt will ich die Daten [Galaxywarsforum], die in der Kategorie [Browser Games] liegen in die Kategorie [Communitys] verschieben. Wie macht man sowas?

Ich weiß es ist überhaupt keine sichere Methode, die sachen als Ini-file zu speichern, aber ich möchte es erstmal so versuchen. Dabei spielt die sicherheit grad keine Rolle.

marabu 15. Nov 2006 08:25

Re: Fragen zu List- und Combobox
 
Hallo,

ich vermute mal du hast für jede Kategorie eine eigene INI-Datei. Unabhängig von deinen visuellen Komponenten brauchst du Code zum Verlagern einer Section von einer INI-Datei zu einer anderen:

Delphi-Quellcode:
function IniName(const name: String): TFileName;
begin
  Result := ExtractFilePath(ParamStr(0)) + name + '.ini';
end;

procedure ExtractSection(const iniName, sectionName: String; section: TStrings;
    canErase: Boolean = False);
begin
  with TMemIniFile.Create(iniName) do
  try
    ReadSectionValues(sectionName, section);
    if canErase then
    begin
      EraseSection(sectionName);
      UpdateFile;
    end;
  finally
    Free;
  end;
end;

procedure AddSection(const iniName, sectionName: String; section: TStrings;
    mustClear: Boolean = False);
var
  i: Integer;
begin
  with TMemIniFile.Create(iniName) do
  try
    if mustClear then
      EraseSection(sectionName);
    for i := 0 to Pred(section.Count) do
      WriteString(sectionName, section.Names[i], section.ValueFromIndex[i]);
    UpdateFile;
  finally
    Free;
  end;
end;

procedure TransferSection(const iniFrom, iniTo, sectionName: String);
var
  section: TStrings;
begin
  section := TStringList.Create;
  ExtractSection(IniName(iniFrom), sectionName, section, True);
  AddSection(IniName(iniTo), sectionName, section, True);
  section.Free;
end;

procedure TDemoForm.ButtonClick(Sender: TObject);
begin
  TransferSection('Browser Games', 'Communities', 'Galaxywars');
end;
Getippt und nicht getestet.

Freundliche Grüße

Newcomer411 15. Nov 2006 13:45

Re: Fragen zu List- und Combobox
 
procedure AddSection(const iniName, sectionName: String; section: TStrings;
mustClear: Boolean = False);
var
i: Integer;
begin
with TMemIniFile.Create(iniName) do
try
if mustClear then
EraseSection(sectionName);
for i := 0 to Pred(section.Count) do
WriteString(sectionName, section.Names[i], section.ValueFromIndex[i]);
UpdateFile;
finally
Free;
end;
end;

ValueFromIndex erkennt er leider nicht...

marabu 15. Nov 2006 13:53

Re: Fragen zu List- und Combobox
 
Kannst du doch einfach ersetzen:

Delphi-Quellcode:
WriteString(sectionName, section.Names[i], section.Values[section.Names[i]]);

Newcomer411 19. Nov 2006 00:07

Re: Fragen zu List- und Combobox
 
Wahrscheinlich bin ich zu blöd, aber wenn ich dann klicke, tut sich rein gar nichts.
trotzdem danke,
jetzt habe ich aber eine vielleicht leichtere lösung?!

habe 2 listboxen in einem Nebenfenster.. einmal mit Quelldatensatz und Zieldatensatz.

wie schaffe ich es mit Drag und Drop die Daten zu verschieben?
wenn es mit Drag und Drop nicht geht, welchen code brauche ich wenn ich das auf einen Button lege und per Button die Datensätze verschiebe...

Danke schonmal.

_frank_ 19. Nov 2006 18:26

Re: Fragen zu List- und Combobox
 
zum Drag&drop zwischen Listboxen evtl. folgendes Beispielprojekt:

http://www.fw-web.de/download.php?fi...ropListbox.zip

Gruß Frank

marabu 19. Nov 2006 18:58

Re: Fragen zu List- und Combobox
 
Hi,

Zitat:

Zitat von Newcomer411
jetzt habe ich aber eine vielleicht leichtere lösung?!

damit wählst du ein anderes Interaktionsmodell, der Code zum Verschieben einer Section bleibt aber derselbe. Und mal ehrlich: Leichter als ein ButtonClick dürfte Drag & Drop kaum werden.

Freundliche Grüße

Newcomer411 19. Nov 2006 21:40

Re: Fragen zu List- und Combobox
 
Zitat:

Zitat von marabu
Hi,

Zitat:

Zitat von Newcomer411
jetzt habe ich aber eine vielleicht leichtere lösung?!

damit wählst du ein anderes Interaktionsmodell, der Code zum Verschieben einer Section bleibt aber derselbe. Und mal ehrlich: Leichter als ein ButtonClick dürfte Drag & Drop kaum werden.

Freundliche Grüße


Mein Problem ist, das ich es einfach nicht hinbekomme das dass programm dieses ausführt... auch nicht mit deinem code... es kommt keine fehlermeldung, aber er verschiebt auch nichts.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:30 Uhr.
Seite 1 von 2  1 2      

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