AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Problem beim Senden mit SendBuf (TFont, TColor)
Thema durchsuchen
Ansicht
Themen-Optionen

Problem beim Senden mit SendBuf (TFont, TColor)

Ein Thema von faeX · begonnen am 31. Mai 2008 · letzter Beitrag vom 1. Jun 2008
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#11

Re: Problem beim Senden mit SendBuf (TFont, TColor)

  Alt 31. Mai 2008, 18:59
HI,

ich würd dir empfehlen, alles in einen Stream zu schreiben und diesen dann zu verschicken. Hierbei treten auch keine Probleme mit zu langen Strings auf, vorrausgesetzt, du hast ein Trennungszeichen (z.B. #) was in den Strings etc. nicht vorkommen darf.

Strings speicherst du am einfachsten mit Stream.Write(Str[1], Length(Str)). Die 1 ist wichtig, da alles in einem Stream in einem Pointer abgelegt wird. Schreibst du den String direkt mit Stream.Write(Str, Length(Str)), wird was ganz komisches geschrieben, aber nicht der String.

Streams werden mit SendStream verschifft.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
faeX

Registriert seit: 29. Jan 2008
29 Beiträge
 
Delphi 5 Standard
 
#12

Re: Problem beim Senden mit SendBuf (TFont, TColor)

  Alt 31. Mai 2008, 19:04


Okay, damit bin ich etwas überfordert...
Ich habe einen Chat programmiert, wo alles Super funktioniert hat...
Angehängte Dateien
Dateityp: zip smalltalk_121.zip (240,3 KB, 10x aufgerufen)
Fabian
Da war auch noch der junge Mann der wollte Schriftsteller werden und tiefe emotionen in den Lesern wecken - sie zum weinen bringen. Heute ist dieser Traum in Erfüllung gegangen: Er schreibt die Fehlermeldungen von Windows.
  Mit Zitat antworten Zitat
Benutzerbild von MSSSSM
MSSSSM

Registriert seit: 18. Apr 2008
223 Beiträge
 
Delphi 7 Professional
 
#13

Re: Problem beim Senden mit SendBuf (TFont, TColor)

  Alt 31. Mai 2008, 19:08
http://www.delphipraxis.net/download.php?id=33542


habe auch mal einen kleinen chat gescrieben...


[OT]bist ja nur 2 Jahre älter als ich...[/OT]


klar mit streams gehts imho besser..., aber das sollte man erst einsetzen wenn man es verstanden *g*

mhm

@rollstuhlfahrer
meinst du das man einfach den str in einem stream ablegt und den also z.b. Irgendwas: TStream

macht?


mfg
Marius
  Mit Zitat antworten Zitat
faeX

Registriert seit: 29. Jan 2008
29 Beiträge
 
Delphi 5 Standard
 
#14

Re: Problem beim Senden mit SendBuf (TFont, TColor)

  Alt 31. Mai 2008, 19:09
Was sind Pointer, wie programmiert man diesen Stream, wie setzt man Trennungszeichen, wie senden man Streams?
Fabian
Da war auch noch der junge Mann der wollte Schriftsteller werden und tiefe emotionen in den Lesern wecken - sie zum weinen bringen. Heute ist dieser Traum in Erfüllung gegangen: Er schreibt die Fehlermeldungen von Windows.
  Mit Zitat antworten Zitat
faeX

Registriert seit: 29. Jan 2008
29 Beiträge
 
Delphi 5 Standard
 
#15

Re: Problem beim Senden mit SendBuf (TFont, TColor)

  Alt 31. Mai 2008, 19:09
Mir fällt grade auf, dass die meisten kaum älter, gar jünger sind als ich...
Fabian
Da war auch noch der junge Mann der wollte Schriftsteller werden und tiefe emotionen in den Lesern wecken - sie zum weinen bringen. Heute ist dieser Traum in Erfüllung gegangen: Er schreibt die Fehlermeldungen von Windows.
  Mit Zitat antworten Zitat
faeX

Registriert seit: 29. Jan 2008
29 Beiträge
 
Delphi 5 Standard
 
#16

Re: Problem beim Senden mit SendBuf (TFont, TColor)

  Alt 31. Mai 2008, 19:11
Bei deinem Chat schlägt mein Scanner Alarm, obwohl ich nicht glaube, dass er berechtigt ist...
Fabian
Da war auch noch der junge Mann der wollte Schriftsteller werden und tiefe emotionen in den Lesern wecken - sie zum weinen bringen. Heute ist dieser Traum in Erfüllung gegangen: Er schreibt die Fehlermeldungen von Windows.
  Mit Zitat antworten Zitat
Benutzerbild von MSSSSM
MSSSSM

Registriert seit: 18. Apr 2008
223 Beiträge
 
Delphi 7 Professional
 
#17

Re: Problem beim Senden mit SendBuf (TFont, TColor)

  Alt 31. Mai 2008, 19:14
beim server?

ist normal...

mfg
Marius
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#18

Re: Problem beim Senden mit SendBuf (TFont, TColor)

  Alt 31. Mai 2008, 19:14
@faeX: Könntest du bitte in Zukunft deine Beiträge editieren (Edit-Button rechts über deinem Beitag) und nicht mehrere Beiträge unmittelbar nacheinander schreiben? Das nennt man "pushen" und ist hier nicht gern gesehen
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
faeX

Registriert seit: 29. Jan 2008
29 Beiträge
 
Delphi 5 Standard
 
#19

Re: Problem beim Senden mit SendBuf (TFont, TColor)

  Alt 31. Mai 2008, 19:17
@Fussball-Robby: Danke für den Tipp, bin noch nicht lange dabei...

und wie programmiere ich diese Streams nun?

nunja meine Mutter möchte dass ich essen komme, werde mir eure antworten später durchlesen
Fabian
Da war auch noch der junge Mann der wollte Schriftsteller werden und tiefe emotionen in den Lesern wecken - sie zum weinen bringen. Heute ist dieser Traum in Erfüllung gegangen: Er schreibt die Fehlermeldungen von Windows.
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#20

Re: Problem beim Senden mit SendBuf (TFont, TColor)

  Alt 31. Mai 2008, 20:33
Streams gehen ganz einfach. In der Unit Classes sind Delphi-Referenz durchsuchenTStream, Delphi-Referenz durchsuchenTMemoryStream, Delphi-Referenz durchsuchenTFileStream und Delphi-Referenz durchsuchenTStringStream. Für die Verwendung guck bitte in die Delphi-Hilfe (Stichwort: Stream(s)).

Streams gehen so:
Delphi-Quellcode:
var Stream: TMemoryStream // mein Liebling unter den Streams
begin
Stream := TMemoryStream.Create; // Erstellen
Stream.Write(Edit1.Text[1], Length(Edit1.Text)); // Reinschreiben
Stream.Position := 0; // Auf den Anfang setzen
Form1.Client.Socket.SendStream(Stream); // Verschicken
// Ein .Free ist hier nicht notwendig, da das die Prozedur SendStream übernimmt
end;
Pointer sind Zeiger auf bestimmte Speichertypen. Übergibst du einer Funktion/Prozedur ein Objekt, so wird nur der Zeiger übergeben (nicht da Objekt seblst). Greifst du dann darauf zu, änderst du in allen Variablen dieses Objektes, das du übergeben hast, die Eigenschaft. (Hier ist jetzt aber nicht gemeint, dass man von jeder Klasse nur 1 Instanz erzeugen kann. Es wird eben das von der aktuellen Instanz geändert.)
Zitat von faeX:
Mist, schon wieder ein Fehler... Der String ist auf 255 Zeiten begrenzt.

TagString : String[255];
Für längere Strings verwende WideString

Zitat von faeX:
Bei deinem Chat schlägt mein Scanner Alarm, obwohl ich nicht glaube, dass er berechtigt ist...
Zitat von MSSSSM:
beim server?

ist normal...

mfg
Seh ich anders. Ein Programm sollte ganz ohne Virenwarnung laufen (und erst recht dann, wenn es selbstgeschrieben ist).
Prüfe mal deine EXE z.b. bei Virustotal und kontaktiere mal den Virenscanner-Hersteller, was der dazu sagt. Bei mir traten auch mal Viren auf, wenn ich direkt auf WinSockets zugegriffen hatte.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 12:57 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