Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - "nichts" (#0?, '') als char ???


F34r0fTh3D4rk - Mo 13.06.05 16:13
Titel: "nichts" (#0?, '') als char ???
hallo, ich habe ein richedit, und ich möchte ein wort hervorheben, falls es von einem ' ' oder von nichts umgeben ist, das problem mit dem nichts habe ich allerdings noch, am zeilenanfang habe ich dieses problem zB, #0 geht nicht, und '' erkennt er nicht als char an, hier mal bissl code:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
var
  P1, P2: PChar;
  str: string;
begin
  str := copy(richedit1.text, 510);
  P1 := PChar(copy(richedit1.text, 21));
  P2 := PChar(copy(richedit1.text, 51));
  if (P1^ in [' '#0]) and (P2^ in [' '#0]) then 
    showmessage('Wort von keinem Zeichen umgeben!'); 
end;

wenn der code net ganz einwandfrei ist, liegts daran, dass ich den grad aus kopf getippt habe, glaube aber, dass das so richtig ist, womit beginnt denn ein string (eine zeile) ? wie kann man denn "nichts" abfragen außer als #0 ???

Danke schonmal :D


Moderiert von user profile iconraziel: Topic aus Sonstiges verschoben am Mo 13.06.2005 um 16:21


jasocul - Mo 13.06.05 16:16

Ich denke, du kannst das nur prüfen, indem du feststellst, ob dein gesuchter String an erster Position ist. Es gibt kein spezielles erstes Zeichen in einem String (auch nicht bei PChar).


F34r0fTh3D4rk - Mo 13.06.05 16:19

ja aber wie mache ich das, dann muss ich die zeile extrahieren und das dann mit pos prüfen, aber nur, wenn das wort genau am anfang einer zeile beginnt, was wieder schwierig mit richedit.text zu prüfen ist, welches ja in sich ein string ist, komischerweise gehts da auch nicht, also scheinen die zeilen doch einzeln behandelt zu werden, oder wie jetzt ?


jasocul - Mo 13.06.05 16:41

Ein TRichEdit hat die Eigenschaft Lines.
Mit Lines bekommst du die einzelnen Zeilen. Du musst also nicht RichEdit.Text nehmen.
Der Typ ist TStrings. Damit solltest du, wie ich dich kenne, ohne Probleme zurecht kommen.


F34r0fTh3D4rk - Mo 13.06.05 16:44

ja, aber ich muss ja den text durchsuchen, das ist ja das problem :wink:


jasocul - Mo 13.06.05 16:45

Hast du schonmal den Text gespeichert und manuell (Hex-Editor) nachgesehen, wie du das unterscheiden kannst? Evtl. gibt es ein spezielles Zeichen für einen harten, bzw. einen weichen Zeilenumbruch.


F34r0fTh3D4rk - Mo 13.06.05 16:52

müsste ich mal schauen, aber ich werde das dann doch zeilenweise machen, ist dann wohl doch besser :D danke