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 Buchstabe aus einer Zeile auslesen (https://www.delphipraxis.net/14138-buchstabe-aus-einer-zeile-auslesen.html)

Spike2k3 2. Jan 2004 22:18


Buchstabe aus einer Zeile auslesen
 
Hi,
Was muss ich eingeben, dass Delphi aus einer Reihe Zahlen oder Buchstaben nur den was weiss ich 23. nimmt und dann aus der nächten Ziele den dritten usw. und die dann im Edit1 anzeigt???
Also 0035625462645264524654654654546542642 <---die erste 3
0312435053048237285043825435848504854 <---die erste 2
Wäre euch echt dankbar... :)

Mirilin 2. Jan 2004 22:34

Re: Buchstabe aus einer Zeile auslesen
 
:hi:

Du kannst die Zeichen eines Strings wie die Werte in einem Array ansprechen : String[Stelle].
(Wobei das 1. Zeichen den Index 1 und das Letzte den Index Length(DesStrings) hat)

mfg Tobias

Spike2k3 2. Jan 2004 22:40

Re: Buchstabe aus einer Zeile auslesen
 
mal ausprobieren...
Ich hoffe ich hab verstanden was du meinst...
Na ma gucken

franz 2. Jan 2004 22:42

Re: Buchstabe aus einer Zeile auslesen
 
Hi Spike2k3,

ehrlich gesagt ist deine Frage etwas missverständlich.

Also bei Strings kannst du folgendes verwenden:

Beispiel: S := 'abcdefg' // S wird der String zugewiesen
Dabei musst du beachten, dass der erste Buchstaben den Index 1 hat!

S[1] liefert den Buchstaben a,
S[2] b,
S[3] c
u. s. w.

Wenn du mehrere Zeichen hintereinander ermitteln möchtest, kannst du die Copy Funktion verwenden. Die Copy Funktion kann außerdem auf Arrays angewendet werden.

Beispiel:
Delphi-Quellcode:
S := 'abcdefg'
S := Copy(S, 2, 5);
Daduch werden S die Buchstaben "b" bis "e" zugewiesen. Das Ergebnis ist also "bcde".

Wenn du die erste Position eines Zeichens in einem String ermitteln möchtest, kannst du das mit AnsiPos tun.

Mit LastDelimiter kannst du ein bestimmtes Zeichen am Ende eines Strings ermitteln.

Wie Copy, AnsiPos und LastDelimiter funktinieren steht ausführlich in der Delphi Hilfe.


Ich hoffe, dass ich dir helfen konnte.

Spike2k3 2. Jan 2004 22:49

Re: Buchstabe aus einer Zeile auslesen
 
ICh möchte gerne
den 5 und 10 buchstaben aus einer Reihe auslesen und aus der nächsten Reieh wieder andere...
und die dann in nem Memo anzeigen, nacheinander

verständlicher?

franz 2. Jan 2004 22:55

Re: Buchstabe aus einer Zeile auslesen
 
Es kommt auf das Steuerelement oder Objekt an.

Bei TMemo, TColorMemo, TRichEdit, TStringList, TStrings, u.s.w kann auf die einzelnen Zeilen mit der gleichen Methode zugegriffen werden. Dabei beginnt der Index allerdings mit 0 (NULL).

Memo1.Lines[0] gibt die erste Zeile in Memo1 zurück.
Memo1.Lines[0][5] gibt den 5. Buchstaben in der ersten Zeile von Memo1 zurück.

Spike2k3 2. Jan 2004 23:00

Re: Buchstabe aus einer Zeile auslesen
 
hey..in gewisser Weise klappts ;)
hier is ma Quelltext soweit:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Memo1: TMemo;
    Button3: TButton;
    Memo2: TMemo;
    Edit1: TEdit;
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  DateiName,s : string;

implementation

{$R *.dfm}

procedure TForm1.Button3Click(Sender: TObject);
begin
DateiName:=Edit1.Text; //Die Datei mit dem Code wird eingegeben
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.lines.loadfromfile(DateiName); //Der Inhalt der txt wird eingelesen
S:=Memo1.Lines.text; //und wird mit S gleichgesetzt
S := Copy(S, 2, 5); //die Zahlen 2-5 werden ausgewählt
Memo1.text:= S;     // und im Memo 1 angezeigt

end;



end.
Soweit sogut, doch möchte ich das aus der ersten Zeile nur die 4. Zahl und dann aus der zweiten Zeile die 3. Zahl ausgewählt wird..und die dann hintereinander, zb. als AB oder 43 oder so angezeigt werden (im Memo)...

franz 2. Jan 2004 23:06

Re: Buchstabe aus einer Zeile auslesen
 
Ganz einfach:

Delphi-Quellcode:
Memo1.Lines.Add(Memo1.Lines[0][4] + Memo1.Lines[1][3]);

Spike2k3 2. Jan 2004 23:10

Re: Buchstabe aus einer Zeile auslesen
 
Und wenn ich gerne die Zeilen der DAtei einlesen möchte, also direkt...?
Means: Datei einlesen und nur Zeile 1, Buchstabe 4 etc. im Memo eins ausgeben...?

franz 2. Jan 2004 23:22

Re: Buchstabe aus einer Zeile auslesen
 
Vorsicht! Das wird sehr sehr schwierig!

Versuche lieber die Datei in eine Stringliste zu laden:

Delphi-Quellcode:
var mList: TStringList;
begin
  mList := TStringList.Create;
  try
    mList.LoadFromFile('Dateiname');

    // Anschließend kannst du in mList auf die Zeilen zugreifen.
    // Beispiel:
    mList[0]; // Liefert die erste Zeile zurück
    mList[0][4]; // Liefert den 4. Buchstaben in der ersten Zeile zurück
  finally
    mList.Free;
  end;
end;
Du kannst aber auch direkt auf die Datei zugreifen. Dazu muss du allerdings die Windows API Funktionen verwerden, um die einzelnen Zeilen in einer Schleife abzuarbeiten (kann sehr sehr kompliziert werden!).

Also es ist schon spät ich mach dann mal Schluss.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:39 Uhr.
Seite 1 von 2  1 2      

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