Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.05.04;
Скачать: [xml.tar.bz2];

Вниз

Копирование   Найти похожие ветки 

 
AndrewG   (2008-04-05 22:13) [0]

Копирую текст из MS word 2003
но потом при вставке из буфера в обычный текстовый файл, в тексте вместо перехода на новую строку отображаются прямоугольнички
Подскажите, пожалуйста
Вот как копирую:

procedure Tmain.CopyToClipboard(const aText: string);
var
wText: WideString;
begin
if Win32Platform = VER_PLATFORM_WIN32_NT then begin
  wText := aText;
  SetBuffer(CF_UNICODETEXT, wText[1], (Length(wText) + 1) * 2)
end else
  Clipboard.AsText := aText
end;
procedure Tmain.SetBuffer(Format: Word; var Buffer; Size: Integer);

var
Data: THandle;
DataPtr: Pointer;
begin
OpenClipboard(0);
try
  Data := GlobalAlloc(GMEM_MOVEABLE+GMEM_DDESHARE, Size);
  try
    DataPtr := GlobalLock(Data);
    try
      Move(Buffer, DataPtr^, Size);
      SetClipboardData(Format, Data);
    finally
      GlobalUnlock(Data);
    end;
  except
    GlobalFree(Data);
    raise;
  end;
finally
  CloseClipboard;
end;

end;

С П А С И Б О


 
palva ©   (2008-04-05 22:25) [1]

А почему вы не хотите сказать код этих прямоугольничков? И почему вы думаете, что вместо них должен быть переход на новую строку?


 
Оригинал   (2008-04-05 22:26) [2]

1. Из буфера в файл каким образом вставляется?
2. Шестнадцатеричный код "квадратиков" какой?


 
AndrewG   (2008-04-05 22:35) [3]


> И почему вы думаете, что вместо них должен быть переход
> на новую строку?

Так как в Ворде переход на новую строку есть, а после копирования получаются прямоугольнички...
или если написать так
Memo1.lines.add(Clipboard.astext),то тоже появляются вертикальные палки...

код "квадратикрв" 0A


 
Оригинал   (2008-04-05 22:40) [4]


> код "квадратикрв" 0A


А должо быть 0d0a


 
VirEx ©   (2008-04-05 23:26) [5]

#10 начало новой строки
#13 конец строки

в windows должно быть что-то вроде такого (ежели память не изменяет):
str:="line1"#13#10;
str:=str+"line2"
или наоборот)


 
palva ©   (2008-04-05 23:47) [6]

Коды называются так:
#13 возврат каретки
#10 перевод строки


 
AndrewG   (2008-04-05 23:58) [7]


> palva ©   (05.04.08 23:47) [6]
> Коды называются так:#13 возврат каретки#10 перевод строки

Спасибо, что расказал, что как называется,
но а как исправить??? может после копирования не хватает #13 или #10
Тогда как их восстановить???
С П А С И Б О


 
palva ©   (2008-04-06 00:23) [8]

> Так как в Ворде переход на новую строку есть, а после копирования получаются прямоугольнички...

Переход на новую строку в Word не означает, что в буфере тоже должен быть переход на новую строку. Должны переноситься только символы конца параграфа, а весь параграф выглядеть единой строкой. Ну это вообще говоря. Может быть вы добиваетесь чего-то другого. Вашего кода я вообще не понял, что и зачем. И где там присутствует взаимодействие с Word. И зачем там GlobalAlloc. Скорее всего я чего-то не понимаю.


 
AndrewG   (2008-04-06 20:45) [9]

Проблема решена. Разобрался
Всем спасибо.=)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.05.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.005 c
2-1207738307
Елвис
2008-04-09 14:51
2008.05.04
TObjectList


15-1206195589
NailMan
2008-03-22 17:19
2008.05.04
Хотел тут вот похвалиться обновой


4-1188545444
Gear
2007-08-31 11:30
2008.05.04
Как перехватить появление в системе нового звукового устройства?


15-1206016016
Сергей М.
2008-03-20 15:26
2008.05.04
Вот и поговорили)


6-1185712732
malyar
2007-07-29 16:38
2008.05.04
idtcpserver посылка пакетов всем подключенным клиентам





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский