Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 08:49

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Autor Nachricht
BeitragVerfasst: So Mär 20, 2005 21:26 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 19, 2004 00:27
Beiträge: 454
Wohnort: Nürnberg
Also, ich programmiere gerade einen Chat. Das mit den Smilies funktioniert jetzt, nur wenn ich einen Smiley eingefügt habe,
schreibt er den Benutzernamen nicht mehr fett hin (wie im Anhang zu sehen ist ;))
Weiß jemand warum das so sein könnte????


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Zuletzt geändert von LH_Freak am So Mär 20, 2005 21:46, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 20, 2005 21:28 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
so ein mist, du machst auch sowas....

dann kann ich wohl einpacken.

na gut...
wie fügst du die smileys denn ein?

Ich find gar keine Methode / Eigenschaft die sowas unterstützt....

"malst" du den einfach als TImage oder was auch immer obendrüber?

oder wie geht das?

_________________
Bild

"User Error. Replace User and hit Continue."


Zuletzt geändert von luketheduke am So Mär 20, 2005 21:33, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 20, 2005 21:32 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 19, 2004 00:27
Beiträge: 454
Wohnort: Nürnberg
das war ein harter Kampf (:lol:),

also du nimmt die JvxRichEdit Komponente von den JEDI Komps.

Und dann nimmst du diese nette Prozedur:

Code:
  1. procedure TForm1.ReplaceSmiley(SmileyCode: String;SmileyF: String);
  2. var
  3.   FoundAt: LongInt;
  4.   StartPos, ToEnd: Integer;
  5.   BMP: TBitmap;
  6. begin
  7. BMP := TBitmap.Create;
  8.       BMP.LoadFromFile(SmileyF);
  9.       ClipBoard.Assign(BMP);
  10.   with RichEdit1 do
  11.   begin
  12.     { Suche hinter aktueller Markierung beginnen (falls vorhanden), }
  13.     { andernfalls am Textanfang starten. }
  14.     if SelLength <> 0 then
  15.  
  16.       StartPos := SelStart + SelLength
  17.     else
  18.  
  19.       StartPos := 0;
  20.  
  21.     { ToEnd ist die Länge von StartPos bis zum Textende im RTF-Eingabefeld }
  22.  
  23.     ToEnd := Length(Text) - StartPos;
  24.  
  25.     FoundAt := FindText(SmileyCode, StartPos, ToEnd, [stMatchCase]);
  26.     if FoundAt <> -1 then
  27.     begin
  28.       SetFocus;
  29.       SelStart := FoundAt;
  30.       SelLength := Length(SmileyCode);
  31.  
  32.       RichEdit1.PasteFromClipboard;
  33.  
  34.       ClipBoard.Clear;
  35.     end;
  36.   end;
  37. end;


Mit der kannst du dann die Smilies einfügen.

Beispiel:

Code:
  1. ReplaceSmiley(':)','C:\smile.bmp');


Hoffe das hilft dir, war aber leider keine Antwort auf mein Frage :(

P.S.: Kannst du auch mal nen Screenshot posten?????


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 20, 2005 21:38 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
!! auf die idee wär ich wohl nicht gekommen....

aber zu deiner frage: wenn du noch eins mehr schreibst, gehts dann wieder?
dann würd ich dir n paar leerzeichen vor und nach deinem smiley empfehlen.

screenshot.... :oops:

Bild

meine code-und-tag-auseinander-hack-funktion funzt leider noch nicht so richtig. eigentlich sollte das ganze schön ordentlich formatiert in dem richedit stehen, und das memo im vordergrund sollte die einzelnen bestandteile anzeigen. :oops:

_________________
Bild

"User Error. Replace User and hit Continue."


Zuletzt geändert von luketheduke am So Mär 20, 2005 21:44, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 20, 2005 21:41 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 19, 2004 00:27
Beiträge: 454
Wohnort: Nürnberg
wie????? da bin ich jetzt nicht mitgekommen...

EDIT:
Nein, Leerzeichen vor dem Smiley nützen auch nichts. Wenn ich danach was schreibe, bleibt der Benutzername ganz normal.
Danach passt es wieder!

P.S.: Passt doch.
1. Mein Chat geht über IRC was ich viel einfacher finde.
2. Hab ich für des Aussehen eigene Komponenten geschrieben, was ewig gedauert hat.
3. So gut ist meiner auch wieder nicht ;)

Ich habe den Screenshot nochmal neu hochgeladen. Kann des sein, das ich vorher den SelStart verschieben muss????


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 20, 2005 21:52 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
leerzeichen nach dem smiley sollten besser helfen.

wenn es danach wieder normal wird.

EDIT: du kannst selstart ja gerne präventiv mal ans ende setzen.

EDIT2: hast du icq? bei der post-frequenz im moment ist das vielleicht besser....

EDIT3:
vielleicht kannst du meine explode funktion ja mal anschauen:
Code:
  1. procedure explode(s:string;delim:char;var res:TStringList);overload;
  2.  
  3. function countchars(s:string;c:char):integer;
  4. var i:integer;
  5. begin
  6. result:=0;
  7.  for i:= 1 to length(s) do
  8.   if s[i]=c then result:=result+1;
  9. end;
  10.  
  11. var i:integer;
  12.     index,count: integer;
  13.     aindex:integer;
  14. begin
  15. res.Clear;
  16. index:=1;
  17. aindex:=0;
  18. count:=0;
  19. for i:=1 to length(s) do
  20.  begin
  21.   if (s[i] = delim) then
  22.    begin
  23.     res.Add( copy(s,index,count) );
  24.  
  25.     index:=index+2;
  26.     aindex:=aindex+1;
  27.     count:=0;
  28.    end
  29.    else begin
  30.      if i=length(s) then res.add(copy(s,index,count+3))
  31.      else count:=count+1;
  32.     end;
  33.  end;
  34. end;


sie hat schon mal funktioniert!
und zwar gut...

edit4:
es ist verrückt... die identische funktion liefert mir hier wunderbar resultate:

Bild

_________________
Bild

"User Error. Replace User and hit Continue."


Zuletzt geändert von luketheduke am So Mär 20, 2005 22:00, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 20, 2005 21:57 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 19, 2004 00:27
Beiträge: 454
Wohnort: Nürnberg
hatte ich mal, is aber schnell installiert, mom also ;)

P.S.: hast du Skype??? Finde ich nämlich besser als ICQ


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 20, 2005 22:01 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
ne aber teamspeak... und schau noch mal meinen vorigen post an... ich krieg noch n anfall hier...

EDIT: windows messenger hab ich auch noch... lukas.erlacher@freenet.de

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 20, 2005 23:16 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 16, 2003 15:20
Beiträge: 198
Nur so zur Info :
Ist dir klar, dass dein aktueller Code den Inhalt der Zwischenablage überschreibt ??
(Diese Zeile :
Code:
  1.  ClipBoard.Assign(BMP);
)
Also ich fänd es echt ärgerlich, wenn ich gerade am Programmieren bin nen großen Codeabschnitt ausschneide und dann einen Smiley statt des Abschnittes einfüge, weil mir jemand ne Nachricht mit nem Smiley geschickt hat.

_________________
Bevor du definierst, was etwas ist, versichere dich seiner Existenz.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 20, 2005 23:21 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 19, 2004 00:27
Beiträge: 454
Wohnort: Nürnberg
Nein, der löscht ihn ja wieder raus, aber weg ist der Text trotzdem. Aber ich habe keine andere Möglichkeit gefunden :D


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 20, 2005 23:23 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
das is ja wohl kein thema:

zwischenablage sichern,
manipulieren,
sicherung zurückschreiben.

oder??

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 20, 2005 23:31 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 19, 2004 00:27
Beiträge: 454
Wohnort: Nürnberg
wenn jemand ne andere Lösung hat, immer her damit :D


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 14 Queries | GZIP : On ]