Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Stringoperation beim Combobox.item.add funzt nich (https://www.delphipraxis.net/136891-stringoperation-beim-combobox-item-add-funzt-nich.html)

LuCSteR 9. Jul 2009 15:21


Stringoperation beim Combobox.item.add funzt nich
 
Hi,

will einfach aus ner StringList die Items in eine Combobox kopieren, dabei aber vom jeweiligen Item die letzten 4 Zeichen abschneiden.

Delphi-Quellcode:
var
  i: integer;
  sDir: string;
  slCountryList: TStringList;

begin
  //determinates current directory
  sDir:=GetCurrentDir;
  sDir:=sDir+'\';

  slCountryList:=TStringList.Create;
  ListDirFiles(sDir+'country lists\', slCountryList);

  try
    for i:=0 to slCountryList.Count-1 do Form1.ComboBox1.Items.Add(Delete(slCountryList[i], 4, 4));
  finally slCountryList.Free;
  end;

end;
Beim Delete kommt halt der Error "unit1.pas(133,91) Error: Argument can't be assigned to". Ohne Delete funktioniert alles, aber sieht halt nicht wie erwünscht aus.
Idee wie das zu lösen ist?
Warum ist es nicht möglich die Delete-Funktion in dieser Kombination zu nutzen?

Grüße Lucster

mkinzler 9. Jul 2009 15:25

Re: Stringoperation beim Combobox.item.add funzt nich
 
Weil man auf eine Array-Property keine direkten Stringmanipulationen durchführen kann

LuCSteR 9. Jul 2009 15:31

Re: Stringoperation beim Combobox.item.add funzt nich
 
Mmh, dacht ich mir schon mkinzler :)

Die Frage ist, wie kann ich mein Vorhaben umsetzen? Hab in den Eigenschaften der Combobox nachgesehen, ob man vll eine begrenzte Anzahl Zeichen pro item anzeigen lassen kann. Hab ich aber nichts gefunden, was funktioniert hat.

Jmd ne Idee wies möglich wird?

Jedes Item des Arrays in einem eigenen string(variable) speichern ist ja auf Grund der variablen länge der stirnglist, und damit variablen Anzahl der Variablen nicht implementierbar oder? Außerdem fühlt sich das ziemlich umständlich an o_O

LuCSteR 9. Jul 2009 15:36

Re: Stringoperation beim Combobox.item.add funzt nich
 
okay so funktionierts:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  i: integer;
  sDir, sHelp: string;
  slCountryList: TStringList;

begin
  //determinates current directory
  sDir:=GetCurrentDir;
  sDir:=sDir+'\';

  slCountryList:=TStringList.Create;
  ListDirFiles(sDir+'country lists\', slCountryList);

  try
    for i:=0 to slCountryList.Count-1 do
      begin
        sHelp:=slCountryList[i];
        Delete(sHelp, 4, 4);
        Form1.ComboBox1.Items.Add(sHelp);
      end;
  finally slCountryList.Free;
  end;

end;
bin scheinbar shcon ein wenig lang vorm rechner heute :P

himitsu 9. Jul 2009 15:37

Re: Stringoperation beim Combobox.item.add funzt nich
 
Zitat:

Zitat von mkinzler
Weil man auf eine Array-Property keine direkten Stringmanipulationen durchführen kann

und weil Delete ist eine Prozedur ist, welche den "String direkt verändern will.

verwende daher besser Copy oder du mußt den String in ene Tempvariable kopieren

LuCSteR 9. Jul 2009 16:16

Re: Stringoperation beim Combobox.item.add funzt nich
 
Zitat:

Zitat von himitsu
verwende daher besser Copy oder du mußt den String in ene Tempvariable kopieren

Was ich auch getan habe :) Trotzdem danke.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz