Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

HTML-Editor in Delphi

Empfohlene Antworten

Veröffentlicht

Moin moin,

ich will einen HTML-Editor in Delphi Schreiben und jetzt möchte ich in ein Memo per Knopf druck den text <HTML> schreiben und darunter </html>. Aber wie bekomm ich ein Textumbruch als Quellcode ? :D

mfG Bartsi :confused:

Also ich würde erstmal keine Memo nehmen da dieses wie der Windowseditor den nachteil hat das es bei einer bestimmten dateigröße einfach den text abschneidet...besser du nimmst ein RichEdit weil du dort soviel text schreiben kannst bis der Speichervoll ist :cool: ok nun zu deinem eigentlichen Problem... am einfachsten löst du es mit der function ADD die rufst du sowohl beim Memo als auch beim RichEdit so auf ->

Komponentenname.Lines.Add(Text : String);

dies Funktion setzt den text automatisch in eine neue zeile also kannst du dir das mit dem Zeilenumbruch sparen ...

:cool:

  • Autor

Danke für den Vorschlag aber ich habe mich schon entschieden ich habe es per add gemacht das prob ist das ich die Zeilen auch editieren will, das heißt ich habe ein eingabe feld (nicht das memo) und in einer bestimmten zeile soll sich dann etwas ändern.

Kann mir da auch einer Helfen ? :D

Also wie wäre es wenn du dir Einfach mal die Hilfe fürs Memo durch liest das Memo hat so viele Funktionen (z.B. Verschieben von Zeilen, Tauschen von Zeilen, eine Zeile an einer bestimmten Stelle einfügen) da findest du bestimmt was du brauchst :cool:

  • Autor

Jo ich habe das prob schon gebannt :D

Aber eine andere frage.

Ich habe mein Memo und änder da eine Zeile.

die Zeile lautet <body bgcolor=Balck>

Wobei das bgcolor=black das geänderte ist.

Und da ein Body Tag mehrere eigenschaften hat möchte ich diese auch bei Combobox auswählen können. Das Prob ist nur wenn ich ein Replace string nehme dann überschreibt er die anderen funktionen. Also bauche ich eine Möglichkeit um ihm zu sagen das er die Zeile zwar suchen soll aber das nur hintendran hängen soll.

Kann mann das machen ?

Wenn ja kannst du mir mal bitte den Code Posten ? Bitte

mfG Bartsi :confused:

das ist auch relativ einfach ... weißt du schon wie du die zeile suchen willst ???

wenn nicht ist das einfache du gehst jede zeile des textes durch und nimmst die pos funktion sie gibt einen Zahlenwert zurück ist dieser größer als 0 dann ist der gesuchte string in dem zu suchenden string

beispiel:

if pos('Suchtext','Text für Suchtext') then

...

an hand der zeile und pos kannst du dann zu dem text springen....

und wie jetzt bei dir das zu machen mußt du ja nur gucken wo dein text es auftaucht speichers den text zwischen den '<' & '>' in einen string und änderst ihn nach deinen vorstellungen ab.... :cool:

Sourcecode :

du übergibts 2 strings mußt aber vorher noch die Funktion unter public deklarieren und dann noch einstellen die richtigen bezeichtner (Tform1, Memo) :cool:

procedure TForm1.AddText(Suchtext , Anhang : String);

var i : integer;

s : String;

begin

for i := 0 to Memo1.Lines.Count-1 do

if Pos(UpperCase(Suchtext),UpperCase(Memo1.Lines.Strings))>0 then begin

s:=copy(Memo1.Lines.Strings,1,pos('>',Memo1.Lines.Strings)-1);

Memo1.Lines.Strings:=s+' '+Anhang+'>';

end;

end;

type

TForm1 = class(TForm)

private

{ Private-Deklarationen }

public

{ Public-Deklarationen }

procedure AddText(Suchtext , Anhang :String);

end;

mal so ne frage du lernst nicht FI oder ?? :cool:

Achso na dann ... mhmhm also erster grundsatz erst mal die hilfe durch stöbern wenn du dich daran gewöhnt hast findest du erstens schneller dinge und man prägt sich auch algorythmen auch besser ein... naja freut mich das ich dir helfen konnte :cool:

  • Autor

Moin moin,

also danke schon für das ganze das hat mir echt geholfen. Aber eins musst du mir noch sagen wie rufe ich dann die Funktion auf ?

wenn ich zb. ein Button oder eine Checkbox habe ? :confused:

mfG Bartsi :D

Nun, Buttons haben ein "OnClick"-Ereignis, in dem du festlegen kannst, was passieren soll, wenn du draufklickst (logisch... :D). In dieser procedure rufst du einfach die Funktion auf.

Wie willst du das mit der Checkbox machen ? Anklicken und dann die Routine mittels eines Buttons starten ? Dann musst du die "Checked"-Eigenschaft überprüfen.

  • Autor

Ich wollte das so machen das ich wenn ich die Checkbox angeklickt hab das der Text angehängt wird und wenn sie nicht angeklickt ist das der anhang wieder fott ist.

Ich brauche aber bitte den Quellcode :D

Schließlich bin ich kein AE ;)

mfG Bartsi :D

hallo,

leider hatte ich nicht ganz die zeit, die gesamte diskussion vollständig zu verfolgen. habe nur die frage am anfang mitbekommen, wie man in delphi einen text umbrechen kann. da man dies auch immer wieder benötgt in verschiedenen situtaionen hielt ich es für sinnvoll es zu posten:

Memo1.Lines.Add('<html>' + #13#10 + '</html>');

mit dem #13#10 erreicht man quasi ein carriage return line feed (zeilenumbruch und wagenrücklauf, oder so ähnlich). dies kann man z. b. auch bei showmessage die etwas länger geraten anwenden...

mfg

andik

  • Autor

Moin thedirtydog,

Ich habe zb. eine CheckBox und ein Memo feld.

In dem Memo Feld steht schon von anfang an ein Text drin. Bei dem ganzen geht es um einen HTML Editor.

Die bestehende Zeile in dem Memo Lautet:

'<BODY>

sie soll erweiter werden wenn ich auf die CheckBox klicke. Es soll aber auch wieder weg gehen wenn der Haken aus der CheckBox nehm.

Wenn ich die CheckBox drücke soll er das ganze um den Text BGColor=Black erweitern.

Dann sieht das so aus:

'<BODY BGColor=Black>

aber das prob ist das ich nach dem Text Body erst suchen muss da er sich verschieben kann.

Das ' ist nur mit das forum hier das nicht als html tag verschlugt.

So das war es. Ist doch garnicht so schwer ;)

mfG Bartsi

PS: Das ganze brauch ich mit Quellcode und mit beschreibung wo ich das einfüge. Und wenn ihr noch lust hab nicht mit Schritt beschriftung mit ich das auch ralle :D

  • Autor
Original erstellt von Bartsi:

<STRONG>Und wenn ihr noch lust hab nicht mit Schritt beschriftung mit ich das auch ralle :D </STRONG>

Scheiss Deutsch :)

Und wenn ihr noch lust habt mit schritt für schritt beschriftung mit ich das auch ralle :D

  • Autor
Original erstellt von Bartsi:

<STRONG>Moin thedirtydog,

Ich habe zb. eine CheckBox und ein Memo feld.

In dem Memo Feld steht schon von anfang an ein Text drin. Bei dem ganzen geht es um einen HTML Editor.

Die bestehende Zeile in dem Memo Lautet:

'<BODY>

sie soll erweiter werden wenn ich auf die CheckBox klicke. Es soll aber auch wieder weg gehen wenn der Haken aus der CheckBox nehm.

Wenn ich die CheckBox drücke soll er das ganze um den Text BGColor=Black erweitern.

Dann sieht das so aus:

'<BODY BGColor=Black>

aber das prob ist das ich nach dem Text Body erst suchen muss da er sich verschieben kann.

Das ' ist nur mit das forum hier das nicht als html tag verschlugt.

So das war es. Ist doch garnicht so schwer ;)

mfG Bartsi

PS: Das ganze brauch ich mit Quellcode und mit beschreibung wo ich das einfüge. Und wenn ihr noch lust hab nicht mit Schritt beschriftung mit ich das auch ralle :D</STRONG>

Wie funzt das den ??????????????

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.