Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.02.21;
Скачать: CL | DM;

Вниз

Можно ли работать с файлом *.doc как с *.txt или как с типизированным?   Найти похожие ветки 

 
saviola ©   (2002-02-06 17:51) [0]

Еще есть такой вопросик в subj


 
Dimka Maslov ©   (2002-02-06 18:13) [1]

Ни как с текстовым, ни как с типизированным. Вордовские файлы имеют ужасающий внутренний формат, что сам Билл Гейтс в нём не разберётся.
А тебе нужно прочитать информацию из *.doc файла или что-то другое?


 
saviola ©   (2002-02-06 18:17) [2]

Да мне нужно читать от туда по словам(как в типизированом - запись) или по символам(как в текстовом). Может можно как-то по другому?


 
Dimka Maslov ©   (2002-02-06 18:25) [3]

Передаёшь этой функции имя файла *.doc или *.rtf и получаешь на выходе текст файла. Есть ограничения. Во первых Word должен быть установлен, во вторых тебе придётся перейти на Delphi 5, и в третьих подключить к проекту модули OleServer и Word97.


function ImportWordFile(const FileName: AnsiString): AnsiString;

function RepairText(Ws: WideString): AnsiString;
var
i: Integer;
Ch1, Ch2: Char;
S: AnsiString;
begin
S:=Ws;
Result:="";
Ch2:=#13;
for i:=1 to Length(S)-1 do begin
Ch1:=S[i];
Ch2:=S[i+1];
Result:=Result+Ch1;
if (Ch1 = chEnter) and (Ch2 <> #10) then Result:=Result+#10;
end;
Result:=Result+Ch2;
if Ch2 = chEnter then Result:=Result+#10;
AnsiToOEM(PChar(Result), PChar(Result));
OEMToAnsi(PChar(Result), PChar(Result));
end;

var
WordApp: TWordApplication;
Doc: Variant;
begin
WordApp:=TWordApplication.Create(nil);
try
WordApp.ConnectKind:=ckNewInstance;
WordApp.Connect;
try
Doc:=WordApp.Documents;
Doc.Open(FileName);
Doc:=Unassigned;
WordApp.Selection.SetRange(0, $7FFFFFFF);
Result:=RepairText(WordApp.Selection.Text);
finally
WordApp.WindowState:=1;
WordApp.Quit;
WordApp.Disconnect;
end;
finally
WordApp.Free;
end;
end;



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

Текущий архив: 2002.02.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
1-66597
Worr
2002-02-05 16:36
2002.02.21
Исключительно ради академического интереса....


1-66622
Dmitriy_R
2002-02-01 11:05
2002.02.21
Помогите разобратся что я делаю не так?


1-66551
Dimedrol
2002-02-05 11:21
2002.02.21
Не находится UNIT, прописанный в PATH


1-66519
Dara
2002-02-04 20:23
2002.02.21
rabota s datami


3-66471
Shirson
2002-01-28 12:14
2002.02.21
.xls -> ODBC -> BDE (ADO)