DOC --> RTF, mały błąd w kodzie :(

0

Poniższy kod niby ma konwertować plik DOC do RTF i odczytać w Richedit, ale na końcu wyskakuje błąd:
[Hint] Unit1.pas(38): Value assigned to 'ConvertDoc2Rtf' never used

A oto kod:

function ConvertDoc2Rtf(var FileName: string) : Boolean;
var
  oWord: OleVariant;
  oDoc: OleVariant;
begin
  Result := False;
  try
    oWord := GetActiveOleObject('Word.Application');
  except
    oWord := CreateOleObject('Word.Application');
  end;
  oWord.Documents.Open(FileName);
  oDoc  := oWord.ActiveDocument;
  FileName := ChangeFileExt(FileName, '.rtf');
  oDoc.SaveAs(FileName);
  oWord.ActiveDocument.Close(wdDoNotSaveChanges, EmptyParam, EmptyParam);
  oWord.Quit(EmptyParam, EmptyParam, EmptyParam);
  oDoc := VarNull;
  oWord := VarNull;
  Result := True;
end;

procedure TForm1.Button2Click(Sender: TObject);
const
  FileName = 'D:\oswiata_peszko.doc';
begin
  if ConvertDoc2Rtf(FileName) then// <---- w tej linii wyskakuje powyższy błąd
 begin
    ShowMessage('Word document has been converted to .rtf');
   RichEdit1.Lines.LoadFromFile(FileName);
  end;

Jak to naprawić?

0

To nie błąd tylko podpowiedź.

0

W ogóle to jak masz zdfiniowaną funkcję tak :

function ConvertDoc2Rtf(var FileName: string) : Boolean;

To mi się osobiście wydaje, że nie możesz potem jako jej argumentu podawać stałej (przy standardowo ustawionych dyrektywach kompilatora).

0

Sorry, tak, to była podpowiedź nie błąd.
Kod ten znalazłem na torry.net.

Z tą podpowiedzią program mi się nie kompiluje :(

0

Z tą podpowiedzią program mi się nie kompiluje

eee? .. jesteś pewien, że to przez ten Hint? .. chyba jednak nie.

0

Jak najbardziej! Nie kompiluje się. Dopiero jak dam tą linijkę w komentarz to sie kompiluje, ale tekst w Richedit i tak nie wygląda na skonwertowany i dalej jest odczytywany jako DOC :( Spróbuj sam.

0

Zauważ że FileName, zawiera nazwę pliku z rozszerzeniem ".doc", finkcja zapisuje plik RTF w pliku o rozszerzeniu ".rtf", ale jako że FileName jest stałą, to sama funkcja jej nie zmienia - czyli nie zadziała... Zmień "const" na "var" i wszystko powinno działać.

EDIT:

Kod powinien wygladać tak:

var
FileName: String;
begin
  FileName := 'D:\oswiata_peszko.doc';
  if ConvertDoc2Rtf(FileName) then

Reszta kodu bez zmiany.</cpp>

1 użytkowników online, w tym zalogowanych: 0, gości: 1