Autor Beitrag
Bennle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 101

WinXP
Delphi 2007 Pro, C# (VS 2005)
BeitragVerfasst: Fr 11.11.05 16:28 
Hallo,
Ich habe einen String welcher weit aus über 255 Zeichen besitzen muss. Allerdings wird dieser dann nie ausgegeben.
Wie kann ich einen langen String herstellen und diesen dann noch der MsSQL übergeben?

MfG
Bennle


Zuletzt bearbeitet von Bennle am Fr 11.11.05 20:22, insgesamt 1-mal bearbeitet
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Fr 11.11.05 16:32 
'String255'+'String255'+'usw'
Bennle Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 101

WinXP
Delphi 2007 Pro, C# (VS 2005)
BeitragVerfasst: Fr 11.11.05 16:37 
user profile iconBlackheart666 hat folgendes geschrieben:
'String255'+'String255'+'usw'


Hallo,
Gibt es auch eine andere Möglichkeit?

MfG
Bennle
noidic
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 851

Win 2000 Win XP Vista
D7 Ent, SharpDevelop 2.2
BeitragVerfasst: Fr 11.11.05 16:39 
Wer beschränkt denn die Länge des Strings auf 255 Zeichen?

_________________
Bravery calls my name in the sound of the wind in the night...
Bennle Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 101

WinXP
Delphi 2007 Pro, C# (VS 2005)
BeitragVerfasst: Fr 11.11.05 16:49 
user profile iconnoidic hat folgendes geschrieben:
Wer beschränkt denn die Länge des Strings auf 255 Zeichen?


Hmm das ist eine gute Frage!
Ich hole mir den Text folgendermasen:
beschreibung := Memo.Lines.Text;

MfG
Bennle
ripper8472
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 114

Win2k (und wenn ich nen Zweitrechner haette, auch eine Linux Distri)

BeitragVerfasst: Fr 11.11.05 16:49 
ansistrings (was es in delphi gibt) koennen 2 oder 4 gigs fassen (je nach intelligenz der implementierung, ist mir echt egal) und sind nullterminiert.

alte pascal strings mit nem laengen byte an der ersten stelle koennen nur 255 byte fassen und sind nicht nullterminiert.

in mysql gibts varchars, die (glaub ich mal) 255 zeichen beschraenkung haben (koennten).
probier mal "text".

_________________
char l[]="\xd6N\x96\xa6\xe6\xce.\xa6\xe4\xce\x04N\x86\xae\xce\xfc",I,*i=l-1;for(;I=3,*
i++;){while(*i=*i&~(1<<I|1<<7-I)|(*i&1<<I)<<7-2*I|(*i&1<<7-I)>>7-2*I,I--);}puts(l);
Grendel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 443

Gentoo Linux, MacOS X, Win 2000
D5 Ent, D7 Ent, Lazarus, Anjuta, MonoDevelop
BeitragVerfasst: Fr 11.11.05 16:52 
Normalerweise sind nur String-Konstanten auf 255 Zeichen beschränkt. "Normale" Strings sind eigentliche nur vom verfügbaren Speicher begrenzt. Es sei denn Du compilierst ohne die Option "Huge-Strings" dann werden Strings nämlich als ShortString behandelt und können somit nur 255 zeichen aufnehmen.

Guck mal unter Projekt -> Optionen -> Compiler -> Syntaxoptionen ob bei "Huge-Strings" ein Haken gesetzt ist.

Bis neulich ...
Bennle Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 101

WinXP
Delphi 2007 Pro, C# (VS 2005)
BeitragVerfasst: Fr 11.11.05 17:02 
Hallo,
"Huge-Strings" sind ein!

Aber wie genau verwende ich ansistrings?

MfG
Bennle
ripper8472
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 114

Win2k (und wenn ich nen Zweitrechner haette, auch eine Linux Distri)

BeitragVerfasst: Fr 11.11.05 17:04 
ansistrings nennen sich die "delphistrings" mit dem komischen "fucked" format.

_________________
char l[]="\xd6N\x96\xa6\xe6\xce.\xa6\xe4\xce\x04N\x86\xae\xce\xfc",I,*i=l-1;for(;I=3,*
i++;){while(*i=*i&~(1<<I|1<<7-I)|(*i&1<<I)<<7-2*I|(*i&1<<7-I)>>7-2*I,I--);}puts(l);
Stefan.Buchholtz
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 612

WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
BeitragVerfasst: Fr 11.11.05 17:05 
Wenn Huge-Strings eingeschaltet ist, sind String-Variablen ohne Längenangabe, also

ausblenden Delphi-Quelltext
1:
2:
var
  s: String;


automatisch Ansi-Strings.

Stefan
Bennle Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 101

WinXP
Delphi 2007 Pro, C# (VS 2005)
BeitragVerfasst: Fr 11.11.05 17:08 
user profile iconStefan.Buchholtz hat folgendes geschrieben:
Wenn Huge-Strings eingeschaltet ist, sind String-Variablen ohne Längenangabe, also

ausblenden Delphi-Quelltext
1:
2:
var
  s: String;


automatisch Ansi-Strings.

Stefan


Hmm, dann verstehe ich aber nicht warum das nicht funktioniert?
Biss 255 Zeichen geht es gut, aber wenn es mehr ist klappt es nicht!

An MsSQL kann es nicht liegen, da ich ein Memo verwendet habe!

MfG
Bennle
noidic
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 851

Win 2000 Win XP Vista
D7 Ent, SharpDevelop 2.2
BeitragVerfasst: Fr 11.11.05 17:10 
Poste doch mal den entsprechenden Code, vielleicht hilft das weiter.

_________________
Bravery calls my name in the sound of the wind in the night...
Bennle Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 101

WinXP
Delphi 2007 Pro, C# (VS 2005)
BeitragVerfasst: Fr 11.11.05 17:19 
user profile iconnoidic hat folgendes geschrieben:
Poste doch mal den entsprechenden Code, vielleicht hilft das weiter.


ausblenden Delphi-Quelltext
1:
2:
beschreibung := Memo.Lines.Text; 
WebBrowser1.Navigate('about:'+Abeschreibung);


mehr soll er mal nicht machen, das geht auch schon nich
MfG
Bennle

Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt
noidic
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 851

Win 2000 Win XP Vista
D7 Ent, SharpDevelop 2.2
BeitragVerfasst: Fr 11.11.05 17:23 
Was is nu wieder Abeschreibung? Wenns kein Tippfehler ist, kommt das Navigate evtl. nicht mit mehr als 255 Zeichen klar? Wobei ja in der Hilfe steht, es wäre ein WideString...

In den zwei Zeilen sehe ich ( Tippfehler vorrausgesetzt ) so keinen Fehler.

_________________
Bravery calls my name in the sound of the wind in the night...
Bennle Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 101

WinXP
Delphi 2007 Pro, C# (VS 2005)
BeitragVerfasst: Fr 11.11.05 17:28 
user profile iconnoidic hat folgendes geschrieben:
Was is nu wieder Abeschreibung? Wenns kein Tippfehler ist, kommt das Navigate evtl. nicht mit mehr als 255 Zeichen klar? Wobei ja in der Hilfe steht, es wäre ein WideString...

In den zwei Zeilen sehe ich ( Tippfehler vorrausgesetzt ) so keinen Fehler.


ja das ist ein Tippfehler gewesen, aber es ist immer noch das selbe Problem! Ich habe es nur hier falsch gepostet, in meinem Programm war es richtig

Aber wie gesagt wenn ich in dem Memo mehr als 255 Zeichen eingebe funktioniert das nich
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Fr 11.11.05 17:40 
Was bezweckst Du damit, der String ist doch bestimmt keine Internet adresse vieleicht könnte man das auch anders lösen.
Bennle Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 101

WinXP
Delphi 2007 Pro, C# (VS 2005)
BeitragVerfasst: Fr 11.11.05 17:50 
user profile iconBlackheart666 hat folgendes geschrieben:
Was bezweckst Du damit, der String ist doch bestimmt keine Internet adresse vieleicht könnte man das auch anders lösen.


Hmm gut das ist mir klar das es keine ist! Es ist nur zur vorschau, aber darauf kommt es momentan auch nicht an! Ich will das ja genauso gut in die Datebank bekommen.

Ich habe den Text mal fest eingebaut dann kommt:
[Fehler] Unit1.pas(843): String-Literale können maximal 255 Elemente besitzen

MfG
Bennle
ripper8472
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 114

Win2k (und wenn ich nen Zweitrechner haette, auch eine Linux Distri)

BeitragVerfasst: Fr 11.11.05 17:53 
der IE kommt nicht mit so langen queries zurecht, wuerd ich mal mutmassen.
immerhin wird der IE im twebbrowser gekapselt...

_________________
char l[]="\xd6N\x96\xa6\xe6\xce.\xa6\xe4\xce\x04N\x86\xae\xce\xfc",I,*i=l-1;for(;I=3,*
i++;){while(*i=*i&~(1<<I|1<<7-I)|(*i&1<<I)<<7-2*I|(*i&1<<7-I)>>7-2*I,I--);}puts(l);
noidic
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 851

Win 2000 Win XP Vista
D7 Ent, SharpDevelop 2.2
BeitragVerfasst: Fr 11.11.05 17:57 
String-Literale ( also 'feste Strings' ) können tatsächlich nur 255 Zeichen haben.
Versuch doch mal testweise, den String in ein zweites TMemo zu schreiben und schau, was dann passiert.

_________________
Bravery calls my name in the sound of the wind in the night...
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Fr 11.11.05 17:57 
anstatt dem about: trick mach doch lieber folgendes
www.delphipraxis.net...ewtopic.php?p=453665

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...