AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Nur auf vorhandene Arrayelemente zugreifen
Thema durchsuchen
Ansicht
Themen-Optionen

Nur auf vorhandene Arrayelemente zugreifen

Ein Thema von xZise · begonnen am 31. Mär 2006 · letzter Beitrag vom 31. Mär 2006
Antwort Antwort
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

Nur auf vorhandene Arrayelemente zugreifen

  Alt 31. Mär 2006, 17:49
Ich habe mir ein kleines Programm gebastelt.
Jetzt habe ich einen Bestimmten Text geteilt (immer nach dem Leerzeichen).
Nun muss ich in bestimmten fällen auf die Arraystelle "2" zugreifen, die aber nicht zwingen Vorhanden sein muss!

Ich habe das mit "SaveRead" gelöst, aber vielleicht gibt es ja schon vorgefertige Varianten?
Wenn es noch keine vorgefertige Variante gibt:
Wie kann ich ein ggf. ein Array übergeben (wenn ich das erweitere)?

Delphi-Quellcode:
function TFCommands.Command(Line : string) : string;
var
  i : Integer;
begin
  SetLength(Commands, 1);
  Commands[0] := '';

  // Kommandos filtern
  for i := 1 to Length(Line) do
    if Line[i] = ' then
      SetLength(Commands, Length(Commands) + 1)
    else
      Commands[High(Commands)] := Commands[High(Commands)] + Line[i];

  for i := 0 to High(Commands) do
    Commands[i] := lowercase(Commands[i]);

  // Überprüfen
  if SaveRead(0) = 'saythen
    Result := 'Sagen'
  else if SaveRead(0) = 'methen
    Result := 'Aus 3. Person erzählen'
  else if SaveRead(0) = 'nickservthen begin
    if SaveRead(1) = 'identifythen
      Result := 'Identifizieren bei Nickserv'
    else
      Result := 'Unbekanntes Nickservcommando';
  end else if SaveRead(0) = 'chanservthen begin
    if SaveRead(1) = 'identifythen
      Result := 'Identifizieren bei Chanserv'
    else
      Result := 'Unbekanntes Chanservcommando';
  end else if SaveRead(0) = 'memoservthen begin
    if SaveRead(2) = 'readthen
      Result := 'Lesen einer Memoservnachricht'
    else
      Result := 'Unbekanntes Memoservcommando';
  end
end;

function TFCommands.SaveRead(ArrIndex : Integer) : string;
begin
  Result := '';
  Showmessage(IntToStr(High(Commands)));
  if High(Commands) <= ArrIndex then
    Result := Commands[ArrIndex];
end;
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
pacman1986

Registriert seit: 11. Feb 2005
Ort: Kirchhain
498 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Nur auf vorhandene Arrayelemente zugreifen

  Alt 31. Mär 2006, 17:53
frag doch einfach die länge ab
Christian N.
Designed to make a difference

najjaronline.de
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Nur auf vorhandene Arrayelemente zugreifen

  Alt 31. Mär 2006, 17:55
Tue ich auch (@ Saveread), aber es in Command würde es die struktur zerstören und wollte es deshalb auslagern (>>> SaveRead).
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:16 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