
тип string в Delphi 7
- Шаки
- Активный участник
- Сообщения: 187
- Зарегистрирован: 02 июл 2008, 11:57
- Репутация: 1
- Контактная информация:
тип string в Delphi 7
Наверное я неправильно выбрала раздел, но всё же... Подскажите пожалуйста! Проблема в том, что я в Delphi 7 пытаюсь в переменную типа string передать строку которая весит 1 Мб, а он (редиска) мне её обрезает до 10 Кб .Мне кажется, что я где-то читала, что в Delphi 7 под тип string память выделяется динамически и ограничена только возможностью компьютера. Что мне делать? Может как то где-то можно расширить этот тип? 

- Шаки
- Активный участник
- Сообщения: 187
- Зарегистрирован: 02 июл 2008, 11:57
- Репутация: 1
- Контактная информация:
Re: тип string в Delphi 7
Как всегда всем спасибо, я свою горе строку заменила на массив символов 

-
- Завсегдатай
- Сообщения: 483
- Зарегистрирован: 17 авг 2006, 14:04
- Репутация: 0
- Откуда: Новосибирск
Re: тип string в Delphi 7
Читаем справку Дельфи по строковым типам:
Type : Maximum length : Memory required
ShortString : 255 characters : 2 to 256 bytes
AnsiString : ~2^31 characters : 4 bytes to 2GB
WideString : ~2^30 characters : 4 bytes to 2GB
Type : Maximum length : Memory required
ShortString : 255 characters : 2 to 256 bytes
AnsiString : ~2^31 characters : 4 bytes to 2GB
WideString : ~2^30 characters : 4 bytes to 2GB
- Шаки
- Активный участник
- Сообщения: 187
- Зарегистрирован: 02 июл 2008, 11:57
- Репутация: 1
- Контактная информация:
Re: тип string в Delphi 7
Класс! Я может и глупа, но справку читала и объявляла строку как WideString, но он всё равно её режет 

- Шаки
- Активный участник
- Сообщения: 187
- Зарегистрирован: 02 июл 2008, 11:57
- Репутация: 1
- Контактная информация:
Re: тип string в Delphi 7
Из-за этого и подумала может где надо что прописать или поменять, или директиву указать, вообщем не знаю 

-
- Завсегдатай
- Сообщения: 483
- Зарегистрирован: 17 авг 2006, 14:04
- Репутация: 0
- Откуда: Новосибирск
Re: тип string в Delphi 7
Так. Кидаем на форму две кнопки, один TImage, и два диалога (TOpenPictureDialog и TSavePictureDialog)
Дальше так, и сравниваем рисунки (рисунки делаем побольше). Вот с палитрой в TImage у меня всегда проблема.
Дальше так, и сравниваем рисунки (рисунки делаем побольше). Вот с палитрой в TImage у меня всегда проблема.
Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then begin
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
if Image1.Picture.Bitmap.PixelFormat<>pf16bit then begin
ShowMessage('Pixel format error '+IntToStr(SizeOf(WideChar)));
Image1.Picture.Bitmap.PixelFormat:=pf16bit;
Image1.Picture.SaveToFile(OpenPictureDialog1.FileName);
end;
end
end;
procedure TForm1.Button2Click(Sender: TObject);
var x, y :integer;
sstt:WideString;
i, j :integer;
begin
if SavePictureDialog1.Execute then begin
y:=Image1.Picture.Bitmap.Height;
x:=Image1.Picture.Bitmap.Width;
setlength(sstt,x*y);
for i:=1 to x do
for j:=1 to y do begin
sstt[i+(j-1)*x]:=WideChar(Round(Image1.Picture.Bitmap.Canvas.Pixels[i,j]));
end;
for i:=1 to x do
for j:=1 to y do begin
Image1.Picture.Bitmap.Canvas.Pixels[i,j]:=integer(sstt[i+(j-1)*x]);
end;
Image1.Picture.SaveToFile(SavePictureDialog1.FileName);
end;
end;
- Шаки
- Активный участник
- Сообщения: 187
- Зарегистрирован: 02 июл 2008, 11:57
- Репутация: 1
- Контактная информация:
Re: тип string в Delphi 7
Большое спасибо
. Да, я с Вами согласна, но... у меня был такой бок я не знаю длину строки и определить её не могу, когда пыталась - комп вис.Эта задача в прошлом, но всё равно приятно 


Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя