Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Array of char to memo 
:(
    Опции темы
Гость_Вячеслав
Дата 11.10.2005, 09:52 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Код

var buf [1..32000] : array of char;


Подскажите как Buf засунуть в Memo
пробовал так :

Код

var i1:integer
for i1:=1 to 32000 do memo.text:=memo.text+buf[i1];

этот код не работает - компьютер зависает.

И еще допустим что в мемо 12000 символов
как их занести обратно в buf.

Заранее спасибо.

Это сообщение отредактировал(а) Alex - 11.10.2005, 16:41
  Вверх
Вася К.
Дата 11.10.2005, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 9.2.2005

Репутация: нет
Всего: нет



Ну, грубо говоря, так:

Memo1.Text := buf.

А зависает у тебя потому что слишком долго протекает процесс for i1:=1 to 32000 do memo.text:=memo.text+buf[i1];

А вот обратно в buf:

var str: string;
....
str := Memo1.Text;
CopyMem(@buf[1], @str[1], Length(str) - 1)

Вот и все smile
--------------------
Да здраствует ОПТИМИЗМ!
PM MAIL YIM   Вверх
~FoX~
Дата 11.10.2005, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



Она не зависает, просто долго выполняется


Код

var i1:integer
begin
  for i1:=1 to 32000 do begin
    Application.ProcessMessages;
    Memo1.Lines.Text := Memo1.Lines.Text + buf[i1];
  end;
end;



Добавлено @ 10:22
Опять не опаздал smile


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Гость_Вячеслав
Дата 11.10.2005, 11:06 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Не получается обратное преобразование



var str: string;
....
str := Memo1.Text;
CopyMem(@buf[1], @str[1], Length(str) - 1)


А можно без перехода к строке?(в Memo может быть конец строки)
  Вверх
Rrader
  Дата 11.10.2005, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 70
Всего: 191



Вставка содержимого массива м Memo:
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  Buf: Array[1..32000] Of Char;
  I :Integer;
begin
  FillChar(Buf, 32000, 0);
  For I := Low(Buf) To 1000 Do
    Buf[I] := #50 ;
  Memo1.Text := StrPas(@Buf);
end;

Цитата
Не получается обратное преобразование

Код

procedure TForm1.Button1Click(Sender: TObject);
type
  TCharArray = Array[1..32000] Of Char;
var
  Buf: TCharArray;
  S: String;
begin
  FillChar(Buf, 32000, 0);
  S := Memo1.Text;
  StrPCopy(@Buf, S);
  Memo2.Text := StrPas(@Buf); // Эта строка для теста
end;

Или:
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  Buf: Array[1..32000] Of Char;
  S: String;
begin
  FillChar(Buf, 32000, 0);
  S := Memo1.Text;
  StrPCopy(@Buf, S);
  Memo2.Text := StrPas(@Buf);
end;


Это сообщение отредактировал(а) Rrader - 11.10.2005, 11:35


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
Quadr0
Дата 13.10.2005, 14:46 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 01:38
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0474 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.