'; end;
StrPCopy(Opt.r.textxml[a],Output);
RTFString.free; end;
{------------------------------------------------------------------}
{- -}
{- copy stringto stream -}
{- -}
{------------------------------------------------------------------} procedure CopyStream(streamin:String;var streamout:TMemoryStream); var p:integer; begin
streamout.SetSize(length(streamin)+8);
streamout.Position := 0;
streamout.Clear;
p:=1; while p<=Length(streamin) dobegin
streamout.WriteBuffer(streamin[p], 1);
p:=p+1 end end; //------------------------------------------------------------------------------ // load article //------------------------------------------------------------------------------ procedure TForm1.LoadArticle(a:ArticleType); begin
Aktbild:='';
LoadXMLArticle(a);
Opt.r.ActualArticle:=a;
ComboBox1.ItemIndex:=ord(a); end; //------------------------------------------------------------------------------ // save article //------------------------------------------------------------------------------ procedure TForm1.SaveArticle(a:ArticleType); begin if a<=Empfehlung thenbegin
SaveRtfArticle(a);
SaveXMLArticle(a) end; end; //------------------------------------------------------------------------------ // load text article //------------------------------------------------------------------------------ procedure TForm1.LoadTextArticle(a:ArticleType); var streamatt:TMemoryStream; begin
streamatt:=TMemoryStream.Create; // Ueberschrift
Ueberschrift.ReadOnly := false;
Ueberschrift.Lines.Clear;
Artikeltext.ReadOnly := false;
Artikeltext.Lines.Clear; if (Length(Opt.r.Ueberschrift)>0) and (Length(Opt.r.RtfText)>0) thenbegin
Ueberschrift.PlainText := false;
CopyStream(Opt.r.ueberschrift[a],streamatt);
streamatt.Position:=0;
Ueberschrift.Lines.LoadFromStream(streamatt); // must be twice
Ueberschrift.Paragraph.Alignment:=taCenter; // Bild ifnot FileExists(Opt.r.bild[a]) then Opt.r.bild[a]:='';
LoadImage('',a); // Artikel
Artikeltext.PlainText := false;
CopyStream(Opt.r.RtfText[a],streamatt);
streamatt.Position:=0;
Artikeltext.Lines.LoadFromStream(streamatt); // must be twice RTFString.Position := 0;
streamatt.Free; end;
Ueberschrift.Modified := false;
Artikeltext.Modified := false; end; //------------------------------------------------------------------------------ // load xml document //------------------------------------------------------------------------------ procedure TForm1.LoadXMLArticle(a:ArticleType); var N,M:IXMLNode;Abstrakt,Pic,Head,Text,Overhead,Filnam:String; begin
Filnam:=Opt.R.LocalDir+Opt.r.xmlfile[a]; if FileExists(Filnam) thenbegin
XMLDoc.LoadFromFile(Filnam); if XMLDoc<>nilthenbegin
M:=XMLDoc.DocumentElement;
M:=M.ChildNodes.First; while M<>nildobegin
N:=M.ChildNodes.First; while N<>nildobegin if N.NodeName=xmlTags[2] then Head:=N.Text elseif N.NodeName=xmlTags[1] then Overhead:=N.Text elseif N.NodeName=xmlTags[4] then Abstrakt:=N.Text elseif N.NodeName=xmlTags[5] then Text:=N.Text elseif N.NodeName=xmlTags[9] then Pic:=N.Text;
N:=N.NextSibling end;
M:=M.NextSibling end;
Artikeltext.ReadOnly:=false;
Ueberschrift.ReadOnly:=false;
Ueberschrift.Lines.Clear;
RemoveLineBreak(Overhead);
RemoveLineBreak(Head);
HTMLToRichEdit(Overhead+Head,Ueberschrift);
head:=Ueberschrift.Lines.GetText;
Ueberschrift.SelectAll;
Ueberschrift.Paragraph.Alignment:=taCenter;
Ueberschrift.SelLength:=0;
LoadImage(Opt.r.LocalDir+Pic,a);
Artikeltext.Lines.Clear;
Artikeltext.DefAttributes.Style:=[];
HTMLToRichEdit(Abstrakt,Artikeltext);
Artikeltext.Lines.Add('');
HTMLToRichEdit(Text,Artikeltext); //
Artikeltext.ReadOnly:=opt.r.readonly[a];
Ueberschrift.ReadOnly:=opt.r.readonly[a]; end end; end; //------------------------------------------------------------------------------ // extract picture //------------------------------------------------------------------------------ function TForm1.ExtractXMLPicture(a:ArticleType):String; var N,M:IXMLNode;pic,f:String; begin
Pic:='';
f:=Opt.R.LocalDir+Opt.r.xmlfile[a]; if FileExists(f) thenbegin
XMLDoc.LoadFromFile(f); if XMLDoc<>nilthenbegin
M:=XMLDoc.DocumentElement;
M:=M.ChildNodes.First; while M<>nildobegin
N:=M.ChildNodes.First; while N<>nildobegin if N.NodeName='PICSMALL'then Pic:=N.Text;
N:=N.NextSibling end;
M:=M.NextSibling end; end end;
ExtractXMLPicture:=Pic; end; //------------------------------------------------------------------------------ // extract picture //------------------------------------------------------------------------------ procedure TForm1.SaveXMLArticle(a:ArticleType); var f:TextFile;d,m,y,s:String;i:integer; procedure stael(s:string); begin write(f,'<'+s+'>'); end; procedure endel(s:string); begin writeln(f,''+s+'>');end; begin
D:=IntToStr(DayOf(now));M:=IntToStr(MonthOf(Now));y:=IntToStr(YearOf(now)); ifnot DirectoryExists(Opt.r.LocalDir) then
CreateDir(Opt.r.LocalDir);
AssignFile(F,Opt.R.LocalDir+Opt.r.xmlfile[a]);
Rewrite(f);
writeln(f,'');
writeln(f,'+Opt.R.DocumentName+' [');
writeln(f,'+Opt.r.DocumentName+' ('+Opt.r.Groupname+')+>');
write (f,'+Opt.r.Groupname+' (');
s:=''; for i:=1 to Length(XMLTags) dobegin
write (f,s+XMLTags[i]+'?'); s:=', '; end;
writeln(f,')>');
s:=''; for i:=1 to Length(XMLTags) dobegin
write(f,');
write(f,XMLTags[i]);
writeln(f,' (#PCDATA)>'); end;
writeln(f,']>');
stael(opt.r.DocumentName);
stael(Opt.r.Groupname);
writeln(f); for i:=1 to 9 dobegin
stael(opt.r.ElementName[i]);
write(f,'); // CDATA if i=1 then write(f,Opt.R.Overhead) // OVERHEAD elseif i=2 then write(f,Opt.r.Ueberschriftxml[a]) // HEADLINE elseif i=3 then write(f,d+'.'+m+'.'+y) // DATE elseif i=4 then write(f,'') // ABSTRACT elseif i=5 then write(f,Opt.r.TextXML[a]) // TEXT elseif i=6 then write(f,'Context IT') // AUTHOR elseif i=7 thenbegin// PICBIG
s:=ExtractFileName(opt.r.Bild[a]); if s<>''then s:=Opt.R.RemotePicBigDir+s;
write(f,s); endelseif i=8 then write(f,'Unbekannt') // PICCREDIT elseif i=9 thenbegin// PICSMALL
s:=ExtractFileName(opt.r.Bild[a]); if s<>''then s:=Opt.R.RemotePicSmallDir+s;
write(f,s); end;
write(f,']]>'); // END CDATA
endel(opt.r.ElementName[i]); end;
endel(Opt.r.Groupname);
endel(opt.r.DocumentName);
CloseFile(f); end; //------------------------------------------------------------------------------ // optionen //------------------------------------------------------------------------------ procedure TForm1.OptionenExecute(Sender: TObject); var a:ArticleType; begin with Opt dobegin
Caption:=Title+Version;
Top := top;
Left := Left;
Width := width;
Height := Height;
Edit1.Text := Opt.R.HTMLPrefix;
Edit2.Text := Opt.R.HTMLSuffix;
Edit3.Text := Opt.R.Internetsite;
Edit4.Text := Opt.R.Ftpuser;
Edit5.Text := Opt.R.Ftppassword;
Edit6.text := Opt.r.LocalDir;
Edit7.Text := Opt.R.remoteDir;
Edit8.Text := Opt.R.Overhead;
Etag1.Text := XMLTags[1];
Etag2.Text := XMLTags[2];
Etag3.Text := XMLTags[3];
Etag4.Text := XMLTags[4];
Etag5.Text := XMLTags[5];
Etag6.Text := XMLTags[6];
Etag7.Text := XMLTags[7];
Etag8.Text := XMLTags[8];
Etag9.Text := XMLTags[9];
Etag1.Enabled := false;
Etag2.Enabled := false;
Etag3.Enabled := false;
Etag4.Enabled := false;
Etag5.Enabled := false;
Etag6.Enabled := false;
Etag7.Enabled := false;
Etag8.Enabled := false;
Etag9.Enabled := false; try
ShowModal except
On E:Exception do error(em+92,'Fehler beim �ffnen, '+E.Message); end; // set libs
StrPCopy(Opt.R.HTMLPrefix,Edit1.Text);
StrPCopy(Opt.R.HTMLSuffix,Edit2.Text);
Opt.R.Internetsite := Edit3.Text;
Opt.R.Ftpuser := Edit4.Text;
Opt.R.Ftppassword := Edit5.Text;
Opt.r.LocalDir := Edit6.text;
Opt.R.remoteDir := Edit7.Text;
Opt.R.Overhead := Edit8.Text;
Opt.r.LocalDir:=Stringreplace(Opt.r.LocalDir,'\','/',[rfReplaceAll]);
Opt.r.RemoteDir:=Stringreplace(Opt.r.RemoteDir,'\','/',[rfReplaceAll]); for a:=Angebote to Empfehlung do
SaveArticle(a); end end; //------------------------------------------------------------------------------ // get image //------------------------------------------------------------------------------ function TForm1.LoadImage(s:string;a:ArticleType):boolean; var ll:longint;ok:boolean;TG:TGIFImage; begin
ok:=false; if S<>''thenbegin
S:=Stringreplace(S,'/','\',[rfReplaceAll]); if FileExists(s) thenbegin
ll:=getFileLength(S); if (ExtractFileExt(s)='.gif') thenbegin
TG:=TGIFImage.Create;
TG.LoadFromFile(s);
Artikelbild.Picture.Bitmap:=TG.Bitmap endelse
Artikelbild.Picture.LoadFromFile(Trim(S));
StatusBar1.Font.Color:=clBlue;
StatusBar1.SimpleText:='Bildgr��e='+IntToStr(ll div 1024)+'k';
AktBild:=S;AktBildSize:=LL;
ok:=true endelse Artikelbild.Picture:=nil endelseif a<=Empfehlung thenbegin
S:=opt.r.bild[a]; if FileExists(s) thenbegin
ll:=getFileLength(S); if ll<50000 thenbegin
Artikelbild.Picture.LoadFromFile(Trim(S));
StatusBar1.Font.Color:=clWindowText; if ll<25000 then StatusBar1.Font.Color:=clWindowText else StatusBar1.Font.Color:=clRed;
StatusBar1.Font.Color:=clBlue;
StatusBar1.SimpleText:='Bildgr��e='+IntToStr(ll div 1024)+'k';
AktBild:=S;AktBildSize:=LL;
ok:=true endelsebegin
showmessage('Datei ist zu gro� ('+IntToStr(ll div 1024)+'k) f�r das Internet');
ok:=false end endelsebegin
Artikelbild.Picture:=nil;
ok:=false end end;
LoadImage:=ok end; //------------------------------------------------------------------------------ // bild click //------------------------------------------------------------------------------ procedure TForm1.ArtikelbildDblClick(Sender: TObject); var OpenDialog: TOpenDialog;S:String;i:integer;ok:boolean; var lo:boolean; begin if (opt.r.ActualArticle<=Empfehlung) thenbegin
lo:=false; if AktBild<>''thenbegin if Application.MessageBox('Bild l�schen?','Autor Nachfrage',MB_YESNO)=IDYES thenbegin
AktBild:='';
Artikelbild.Picture:=nil;
opt.r.Bild[opt.r.ActualArticle]:='';
lo:=true; end; end; ifnot lo thenbegin
OpenDialog := TOpenDialog.Create(Self); if opt.r.Bild[opt.r.ActualArticle]<>''then
OpenDialog.InitialDir := ExtractFileDir(Opt.R.Bild[Opt.r.ActualArticle]) else
Opendialog.InitialDir:=ExtractFilePath(OptionsFilename(Title))+picsmalldir;
OpenDialog.Options := [ofReadOnly, ofFileMustExist];
OpenDialog.Filter := '';
S:='';for i:=0 to Length(Filters)-1 dobegin
OpenDialog.Filter := OpenDialog.Filter+S+Filters[i];
S:='|'; end;
ok:=false; whilenot ok and OpenDialog.Execute dobegin
ok:=LoadImage(OpenDialog.FileName,Opt.r.ActualArticle); end; if ok then opt.r.Bild[opt.r.ActualArticle]:=trim(OpenDialog.FileName) else opt.r.Bild[opt.r.ActualArticle]:='';
OpenDialog.Destroy; end end; end; //------------------------------------------------------------------------------ // image info //------------------------------------------------------------------------------ procedure TForm1.ArtikelbildMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); begin
StatusBar1.Font.Color:=clBlack;
StatusBar1.SimpleText:='Bildgr��e='+IntToStr(AktBildSize div 1024)+'k'; end; //------------------------------------------------------------------------------ // text info //------------------------------------------------------------------------------ procedure TForm1.ArtikeltextMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); begin
StatusBar1.Font.Color:=clBlack;
StatusBar1.SimpleText:='Anzahl Textzeilen='+IntToStr(Artikeltext.Lines.count); end; //------------------------------------------------------------------------------ // comobobx change //------------------------------------------------------------------------------ procedure TForm1.ComboBox1Change(Sender: TObject); begin if (Opt.r.ActualArticle<=Empfehlung) and ((length(Artikeltext.lines.Text)<5) or (Artikelbild.Picture=nil)) thenbegin
ShowMessage('Es wurde kein Text eingegeben...');
ComboBox1.ItemIndex:=Ord(Opt.r.ActualArticle) endelsebegin
SaveArticle(Opt.r.ActualArticle);
LoadArticle(Articletype(ComboBox1.ItemIndex)); end;
Opt.r.ActualArticle:=ArticleType(ComboBox1.ItemIndex);
checklicense() end; //------------------------------------------------------------------------------ // file open //------------------------------------------------------------------------------ procedure TForm1.FileOpen1Accept(Sender: TObject); begin
Artikeltext.Lines.LoadFromFile(FileOpen1.Dialog.FileName); end; //------------------------------------------------------------------------------ // file save as //------------------------------------------------------------------------------ procedure TForm1.FileSaveAs1Accept(Sender: TObject); begin
Artikeltext.Lines.SaveToFile(FileSaveAs1.Dialog.FileName); end; //------------------------------------------------------------------------------ // action manager //------------------------------------------------------------------------------ procedure TForm1.HilfeExecute(Sender: TObject); begin
WinHelp(0,PChar(Application.helpfile),HELP_CONTENTS,0); end; //------------------------------------------------------------------------------ // action manager //------------------------------------------------------------------------------ procedure TForm1.ActionManager1StateChange(Sender: TObject); begin
Artikeltext.ReadOnly := ActionManager1.State <> asNormal; end; //------------------------------------------------------------------------------ // action manager //------------------------------------------------------------------------------ procedure TForm1.StdStyleActnExecute(Sender: TObject); begin
ActionManager1.Style := StandardStyle; end; //------------------------------------------------------------------------------ // support click //------------------------------------------------------------------------------ procedure TForm1.SupportExecute(Sender: TObject); var Site,Count:String; begin
Count:=InttoStr(SysLocale.PriLangID);
Site:= 'http://www.cococo.de/index.jsp?content=autor&country='+Count;
ShellExecute(Handle, 'open',PChar(Site),nil,nil, SW_SHOWNORMAL); end; //------------------------------------------------------------------------------ // action manager //------------------------------------------------------------------------------ procedure TForm1.XPStyleActnExecute(Sender: TObject); begin
ActionManager1.Style := XPStyle; end; //------------------------------------------------------------------------------ // resize //------------------------------------------------------------------------------ procedure TForm1.FormResize(Sender: TObject); begin
Opt.r.Horsplitter:=Height div 3;
Opt.r.VerSplitter:=Width div 3;
Artikeltext.Height:=height-Opt.r.Horsplitter;
Artikeltext.Width:=Width-Opt.r.VerSplitter;
Artikelbild.Height:=Opt.r.Horsplitter;
Artikelbild.Width:=Opt.r.VerSplitter;
checklicense() end; //------------------------------------------------------------------------------ // close //------------------------------------------------------------------------------ procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin if WebBrowser1.Visible thenbegin
Opt.r.BWidth:=Width;
Opt.r.BHeight:=height endelsebegin
Opt.r.Width:=Width;
Opt.r.Height:=height end; ifnot WebBrowser1.Visible thenbegin
Opt.r.top:=Top;
opt.r.Left:=Left; end; if Opt.r.ActualArticle <= Empfehlung thenbegin
SaveRtfArticle(opt.r.ActualArticle);
SaveXMLArticle(opt.r.ActualArticle) end;
Opt.r.Horsplitter:=HorizontalSplitter.top;
Opt.r.VerSplitter:=VerticalSplitter.Left;
SaveArticle(Opt.r.ActualArticle);
checklicense() end; //------------------------------------------------------------------------------ // action manager //------------------------------------------------------------------------------ procedure TForm1.ShadowActnExecute(Sender: TObject); begin
ActionMainMenuBar1.Shadows := ShadowActn.Checked; end; //------------------------------------------------------------------------------ // //------------------------------------------------------------------------------ end.
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.22Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.