Avatar billede mysitesolution Nybegynder
16. februar 2003 - 16:08 Der er 5 kommentarer og
1 løsning

Split og command

Lige to spørgsmål:

Er der ikke en der vil lave en spilt funktion?
det den skal splitte kan se ud som dette:
hej,hej2,hej3
og så skal det blive til
hej
hej2
hej3

det skal gemmes i enten array eller stringlist

2. Hvordan trækker man det ud som står i command altså "mitprogram.exe Og så det den trækker ud"
Avatar billede athlon-pascal Juniormester
16. februar 2003 - 16:31 #1
StringList1.CommaText := 'hej,hej2,hej3';
Avatar billede athlon-pascal Juniormester
16. februar 2003 - 16:33 #2
var
  I: Integer;
begin
  for I := 1 to ParamCount do
  begin
    ShowMessage(ParamStr(I));
  end;
end;
Avatar billede athlon-pascal Juniormester
16. februar 2003 - 16:53 #3
Og hvis du vil splitte strings der er opdelt af andet end komma, så har jeg netop skrevet en procedure til det:

procedure SplitString(S: String; SplitChar: Char; Strings: TStrings);
var
  TmpStr: String;
begin
  Strings.Clear;
  while Pos(SplitChar, S) > 0 do
  begin
    TmpStr := Copy(S, 1, Pos(SplitChar, S) - 1);
    Delete(S, 1, Pos(SplitChar, S));
    if Length(TmpStr) > 0 then  // Fjern denne linje hvis du vil acceptere tomme strenge.
      Strings.Add(TmpStr);
  end;
  if Length(S) > 0 then
    Strings.Add(S);
end;

Du bruger den på følgende måde:

procedure TForm1.Button1Click(Sender: TObject);
var
  StringList: TStringList;
  I: Integer;
begin
  StringList := TStringList.Create;
  SplitString('hej1,hej2,hej3,hest', ',', StringList);
  for I := 0 to StringList.Count - 1 do
    ShowMessage(StringList[I]);
  StringList.Free;
end;
Avatar billede mysitesolution Nybegynder
16. februar 2003 - 17:44 #4
Jeg forstår ikke helt hvorfor en param har et nummer, erdet hvis der er mellemrum?
Avatar billede mysitesolution Nybegynder
16. februar 2003 - 17:46 #5
min idé er at programmet bliver kørt som ex. "mitprogram.exe hej1,hej2,hej3" og så kommer hej1, hej2 og hej3 ind i en stringlist
Avatar billede athlon-pascal Juniormester
17. februar 2003 - 19:15 #6
1: Ja

2: StringList1.CommaText := ParamStr(1);
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester