line an bestimmter position des memos einfügen
also ich versuche grade #urls# durch url(s) zu ersetzen
das ist mein ansatz:
Delphi-Quellcode:
aber das funktioniert garnich ^^
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; 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) |
Re: line an bestimmter position des memos einfügen
versuch mal folgendes
erst speicherst du alle deine urls in einen string
Delphi-Quellcode:
dann ersetzst du #url# direkt durch diesen string
for I := 0 to Listbox2.Count - 1 do
begin s := s + '[URL]' + listbox2.items[I] + '[/URL] '; end;
Delphi-Quellcode:
mfG,
memo3.lines.Text:=stringreplace(memo3.lines.text,'#urls#',s,[rfReplaceAll,rfIgnoreCase]);
dajuhsa |
Re: line an bestimmter position des memos einfügen
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 ^^
Delphi-Quellcode:
s := s + '[URL]' + #13 + listbox2.items[I] + '[/URL] ';
|
Re: line an bestimmter position des memos einfügen
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:
Freundliche Grüße vom marabu
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; |
Re: line an bestimmter position des memos einfügen
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? |
Re: line an bestimmter position des memos einfügen
Hi,
Zitat:
Zitat:
Gute Nacht |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:36 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