AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi line an bestimmter position des memos einfügen
Thema durchsuchen
Ansicht
Themen-Optionen

line an bestimmter position des memos einfügen

Ein Thema von fealXX · begonnen am 4. Apr 2008 · letzter Beitrag vom 5. Apr 2008
Antwort Antwort
fealXX

Registriert seit: 16. Dez 2007
10 Beiträge
 
#1

line an bestimmter position des memos einfügen

  Alt 4. Apr 2008, 22:45
also ich versuche grade #urls# durch url(s) zu ersetzen

das ist mein ansatz:

Delphi-Quellcode:
urlpos:=pos(memo3.lines.text,'#urls#');
memo3.lines.Text:=stringreplace(memo3.lines.text,'#urls#','',[rfReplaceAll,rfIgnoreCase]);
memo3.Cursor:=urlpos;
for I := 0 to Listbox2.Count - 1 do
begin
memo3.Lines.Add('[URL]'+listbox2.items[I]+'[/URL]');
end;
aber das funktioniert garnich ^^

die lines kommen weiterhin ans ende des memos unten dran -.-

hoffe mir kann jemand helfen =(

(auch eine willkürliche auswahl von urlpos bringt des gleiche ergebnis)
  Mit Zitat antworten Zitat
Benutzerbild von dajuhsa
dajuhsa

Registriert seit: 20. Apr 2007
397 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: line an bestimmter position des memos einfügen

  Alt 4. Apr 2008, 22:53
versuch mal folgendes
erst speicherst du alle deine urls in einen string
Delphi-Quellcode:
for I := 0 to Listbox2.Count - 1 do
begin
s := s + '[URL]' + listbox2.items[I] + '[/URL] ';
end;
dann ersetzst du #url# direkt durch diesen string
memo3.lines.Text:=stringreplace(memo3.lines.text,'#urls#',s,[rfReplaceAll,rfIgnoreCase]); mfG,
dajuhsa
das Essen ist wie das Internet - Downstream ist immer angenehmer als Upstream
-
Warum missbraucht die ganze Programmierwelt Images als Paintboxen
  Mit Zitat antworten Zitat
fealXX

Registriert seit: 16. Dez 2007
10 Beiträge
 
#3

Re: line an bestimmter position des memos einfügen

  Alt 4. Apr 2008, 23:32
ahh auf die idee bin ich garnich gekommen xD
danke ^^

und falls mal jemand in dieses thema guckt und über einen zeilenrücklauf dazwischen nachdenkt, ein einfaches +#13+ hilft ^^
s := s + '[URL]' + #13 + listbox2.items[I] + '[/URL] ';
  Mit Zitat antworten Zitat
marabu

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

Re: line an bestimmter position des memos einfügen

  Alt 5. Apr 2008, 08:39
Herzlich willkommen in der Delphi-PRAXiS, fealXX.

Der Zeilentrenner unter Windows ist sLineBreak - und dahinter steckt #13#10.

Du betrachtest den Text in deinem Memo (Memo3.Lines.Text) bereits als einen einzigen String. So erhältst du beim Suchen nach deinem Platzhalter (#urls#) natürlich das Offset des ersten Zeichens von diesem String. Über Memo3.Cursor steuerst du nicht die Einfügestelle an, sondern da regelst du die visuelle Erscheinung des Cursors, wenn er sich über dem Memo3 befindet. Steht dein Platzhalter nicht sowieso in einer eigenen Zeile?

Delphi-Quellcode:
procedure InsertLinks(
  markup, // Aufnehmende StringList
  links: TStrings; // Liste mit den URLs
  index: Integer; // Zeilenindex für das Einfügen
  bbcTag: string = 'URL'  // Tagname für BB-Code
);
var
  i: Integer;
begin
  markup.BeginUpdate;
  try
    for i := Pred(links.Count) downto 0 do
      markup.Insert(index, Format('[%s]%s[/%s]', [bbcTag, links[i], bbcTag]));
  finally
    markup.EndUpdate;
  end;
end;

procedure TDemoForm.ButtonClick(Sender: TObject);
const
  PLACE_HOLDER = '#urls#';
var
  index: Integer;
begin
  index := Memo.Lines.IndexOf(PLACE_HOLDER);
  if index < 0
    then index := Memo.Lines.Count
    else Memo.Lines.Delete(index);
  InsertLinks(Memo.Lines, ListBox.Items, index);
end;
Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
fealXX

Registriert seit: 16. Dez 2007
10 Beiträge
 
#5

Re: line an bestimmter position des memos einfügen

  Alt 5. Apr 2008, 16:24
danke danke =)

dajuhsas lösung eignet sich aber besser für mich =)

aber mal zu dem cursor ^^
weise ich da eine ICO datei zu oder was?

edit: sehe grad im objectinspector (crArrow usw.)
aber kann ich trotzdem ne ico zuweisen?
  Mit Zitat antworten Zitat
marabu

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

Re: line an bestimmter position des memos einfügen

  Alt 5. Apr 2008, 23:09
Hi,

Zitat von fealXX:
... dajuhsas lösung eignet sich aber besser für mich ...
das glaube ich dir aufs Wort.

Zitat von fealXX:
... aber kann ich trotzdem ne ico zuweisen? ...
Natürlich nicht. Aber du kannst deinem Programm weitere Cursor hinzufügen. Schau dir dazu mal die Dokumentation der Eigenschaft Cursors von TScreen an.

Gute Nacht
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:02 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