![]() |
set of char wie array behandeln
Ich muss einen Test auf Buchstabenkombinationen untersuchen. Es sind immer zwei Buchstaben von aa bis ZZ.
Kann ich ein array so bauen, daß ich von a to z oder von A to Z eine Schleife hinbekomme? Mit set(i) komme ich nicht weiter. Danke, Messie |
Re: set of char wie array behandeln
Set ist ja ne Menge, das ist was anderes wie ein Array.
Du kannst den Inhalt des Arrays, Eleemnet für Element mit dem Suchstring vergleichen. |
Re: set of char wie array behandeln
Hallo Messie,
ich habe dein Problem noch nicht ganz verstanden. Kannst du es konkretisieren? Vielleicht hilft folgender Code aber schon weiter:
Delphi-Quellcode:
Gruß,
type
TMyType = 'a'..'z'; TMyArray = array[TMyType] of string; var Daten : TMyArray; implementation {$R *.dfm} procedure Test; var lk : Char; begin // Daten von a bis z durchlaufen. for lk := Low(TMyType) to High(TMyType) do begin ShowMessage(Daten[lk]); end; // Oder direkter Zugriff mit einem Buchstaben. ShowMessage(Daten['b']); end; // Test pszopp |
Re: set of char wie array behandeln
Die Problembeschreibung ist ungenuegend. Geht es um doppelte Buchstaben? Sollen die Vorkommen gezaehlt werden oder will man die Position des ersten Vorkommens?
Hier mal ein Vorschlag fuer das Zaehlen:
Delphi-Quellcode:
Danke, Fehler behoben.
const
AnzahlBuchstaben = 26; // 'a'..'z' var Text: string; // zu durchsuchender Text Vorkommen: array [0..AnzahlBuchstaben*2 - 1] of Integer; // hier wird gezaehlt I: Integer; begin for I := Low(Vorkommen) to High(Vorhommen) do Vorkommen[I] := 0; for I := 1 to Length(Text) - 1 do if Text[I] = Text[I+1] then begin if Text[I] in ['a'..'z'] then Inc(Vorkommen[Ord(Text[I]) - Ord('a')]) else if Text[I] in ['A'..'Z']) then Inc(Vorkommen[Ord(Text[I]) - Ord('A') + AnzahlBuchstaben]); end; end; |
Re: set of char wie array behandeln
to robert:
zeile 13 müsste so lauten ;)
Delphi-Quellcode:
if Text[I] in ['a'..'z'] then
|
Re: set of char wie array behandeln
Zitat:
Dann komme ich mit
Delphi-Quellcode:
an jedes Element des set - auch ohne das in einem array parken zu müssen.
ShowMessage(lk)
Danke an alle, Messie |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14: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