AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Probleme mit tStrings und Strings im Memofeld
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit tStrings und Strings im Memofeld

Ein Thema von chrizke · begonnen am 9. Feb 2007 · letzter Beitrag vom 14. Mär 2007
Antwort Antwort
Seite 1 von 2  1 2      
chrizke

Registriert seit: 9. Feb 2007
Ort: Nettetal
6 Beiträge
 
#1

Probleme mit tStrings und Strings im Memofeld

  Alt 9. Feb 2007, 13:03
Hi,

ich habe ein Memofeld, welches mit Text gefüllt ist.
Nun muss ich Zeile für Zeile auslesen und bearbeiten.
Ich habe zum Bearbeiten eine Funktion geschrieben die ein Array vom Typ String als Result ausgibt. Das ist auch nicht das Problem.

Das Problem ist, dass wenn ich mit MEMOFELD.lines.strings[i] in einer for-Schleife jede Zeile einlese und in die Funktion übergebe, Delphi6 meckert, dass die Typen (tsring und string) nicht übereinstimmen.

Kann mir jemand sagen, wie ich dieses Problem umgehe???



chrizke
  Mit Zitat antworten Zitat
Fussel_Scampi

Registriert seit: 9. Feb 2007
Ort: Nettetal
1 Beiträge
 
#2

Re: Probleme mit tStrings und Strings im Memofeld

  Alt 9. Feb 2007, 13:07
Ich hab genau das selbe problem^^
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Probleme mit tStrings und Strings im Memofeld

  Alt 9. Feb 2007, 13:10
Herzlich willkommen in der Delphi-PRAXiS, ihr beiden.

Ihr müsst ein wenig Code zeigen - und die Variablen-Definitionen wo nötig.

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Probleme mit tStrings und Strings im Memofeld

  Alt 9. Feb 2007, 13:10
Moin und herzlich Willkommen in der DP,

MEMOFELD.lines.strings[i] gibt dir ein String zurück, du versuchst ihn wahrscheinlich als TStrings zu behandeln. Poste mal bitte deinen Code.

Gruß

PS:

Zitat von chrizke:
die ein Array vom Typ String als Result
Statt ein Array vom Typ String sollte man lieber den Typ Strings zurückgeben.
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#5

Re: Probleme mit tStrings und Strings im Memofeld

  Alt 9. Feb 2007, 13:11
Ich sehe nicht, wo das Problem liegen sollte. Lines ist vom Typ TStrings. Mit Memo1.Lines[i] bekommst Du jede einzelne Zeile; mit TStrings (also einer "Kopie" von Memo1.Lines) könntest Du mindestens genauso gut arbeiten wie mit einem Array; und es gibt genügend Funktionen zum Kopieren; z.B.:
Delphi-Quellcode:
Kopie.Add(Memo1.Lines[i]);
Kopie.AddStrings(Memo1.Lines);
Vielleicht kannst Du genauer angeben, bei welcher Zuordnung die inkompatiblen Typen bemängelt werden.

Gruß Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
chrizke

Registriert seit: 9. Feb 2007
Ort: Nettetal
6 Beiträge
 
#6

Re: Probleme mit tStrings und Strings im Memofeld

  Alt 9. Feb 2007, 13:15
also hier ist die Zeile die den Fehler:
Delphi-Quellcode:
     Zeile := mAnzeige.lines.strings[i];
     Zeilenarray:=Split(Zeile, ';');
So Split ist wie folgt deklariert:

Der Interface Teil:
Delphi-Quellcode:
type
  TStringArray = array of String;

  function Split(strring, trennzeichen: String): TStringArray;
Der Implementation Teil:
Delphi-Quellcode:
function Split(strring, trennzeichen: String): TStringArray;
var
  I, L: Integer;
begin
  SetLength(Result, 0);
  if strring = 'then
    Exit;
  I := Pos(trennzeichen, strring);
  L := Length(trennzeichen);
  while I > 0 do
  begin
    Result[High(Result)] := copy (strring,1,I-1);
    delete(strring,1,I);
  end;
Ich brauche das Array als Result, nur nen String bringt nichts!
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Probleme mit tStrings und Strings im Memofeld

  Alt 9. Feb 2007, 13:22
Wie hast Du denn "Zeilenarray" deklariert.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: Probleme mit tStrings und Strings im Memofeld

  Alt 9. Feb 2007, 13:23
Vielleicht solltest du dich zuerst mal um deine Split-Funktion kümmern - da liegt einiges im Argen. Deine Schleife steuerst du mit I, aber I wird in der Schleife nicht angepasst.

Der Zugriff auf die einzelnen Zeilen des Memos kann auch über Memo.Lines[i] erfolgen und du kannst den String auch sofort an deine Splitfunktion übergeben - ein Umspeichern ist nicht nötig.

Freundliche Grüße
  Mit Zitat antworten Zitat
chrizke

Registriert seit: 9. Feb 2007
Ort: Nettetal
6 Beiträge
 
#9

Re: Probleme mit tStrings und Strings im Memofeld

  Alt 9. Feb 2007, 13:26
zeilenarray wird wie folgt deklariert:

zeilenarray:array of String;
Es geht mir im Moment nur um das Typenproblem und nicht um die Funktion, dass da noch teile nicht ganz ausgereift sind ist mir klar.
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Probleme mit tStrings und Strings im Memofeld

  Alt 9. Feb 2007, 13:29
wie ist zeile (sollte ein normaler string sein) deklariert?


Zitat von chrizke:
also hier ist die Zeile die den Fehler:
Delphi-Quellcode:
     Zeile := mAnzeige.lines.strings[i];
     Zeilenarray:=Split(Zeile, ';');
und in welcher zeile nun genau?

poste eventuell aml den ganzen source code
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 08:10 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