Usenet Replayer





iso-8859-1


Path:  news2.ip-mobilphone.net ! NNTPLoader.ip-mobilphone.net ! news.tiscali.de ! feed.news.tiscali.de ! fu-berlin.de ! uni-berlin.de ! individual.net ! not-for-mail
From:  "Roland Bierlein" <robier@gmx.de>
Newsgroups:  hamster.de.tools
Subject:  [Skript] Neue Version von Auto-FAQ
Date:  Mon, 23 May 2005 00:41:43 +0200
Organization:  OE user on the loose!
Lines:  216
Message-ID:  <d6r8vk.2vs.2@insigne.cervisiola.de>
Mime-Version:  1.0
Content-Type:  text/plain; charset="iso-8859-1"
Content-Transfer-Encoding:  8bit
X-Trace:  individual.net 3hS2u/XkuhM1++DOEoAzvgUjdFVold6LqkxaifXriVjBi9eSoZ
X-Priority:  3
X-MSMail-Priority:  Normal
X-Newsreader:  Microsoft Outlook Express 6.00.3790.1830
X-MimeOLE:  Produced By Microsoft MimeOLE V6.00.3790.1830
User-Agent:  Hamster-Pg/1.24
X-KorrNews:  Version 4.2
X-Face:  8NF]\%=o\cSZc3_j=BI=Aeo:B<Rw')Y0wZU&x++3A.x=wR8j##}AW!^J#B@th)sBY+m`LOT*,;op&(3^&E~JR%,dTG>fDJSeBd6=,4"d})|d-y1IHDu;'0Y`;kV4`V8Z~"'C;urm0R;flI@EH5O/zDsOWysVSNWU3/@!
Xref:  news2.ip-mobilphone.net hamster.de.tools:12236


Buenas noches:

Wie versprochen habe ich mich mal der Aktualisierung/Anpassung von
Klaus Fischers Auto-FAQ-Skript gewidmet. Folgende Version läuft unter PG
nun fast problemlos. Lediglich wenn im Verlauf des Skripts an irgendeiner
Stelle eine Abbruchbedingung erreicht wird (Quit), wird dem Hamster
ganz gelb mit dem Hinweis:
| Ressources not released by script: Object TMess 02F822F8, Object TMess 02F823A0

Das Skript sieht nun so aus:

---------8<------------------8<-------------
# File: Auto-FAQ.hsc
#!hs2
#!load hamster.hsm
#!load hmessage.hsm

#####################################################################
# Skript: Anpassung des Skripts "AutoFAQ.hsc" an den Hamster PG und
# aktuelle Entwicklungen der Hamster-Skriptsprache
# Version: 1.0 (2005-05-23)
# Funktionsweise: Auto-FAQ.hsc dient zum regelmäßigen automatischen
# Posten eines FAQ-Textes. Hierbei wird die Message-
# ID des vormaligen Postens für einen Supersedes-
# Eintrag benutzt. Für das erneute Posten wird ein
# aktueller Date-Header sowie eine neue Message-ID
# erzeugt.
# Voraussetzungen: Im Hamster muß ein FQDN zur Erzeugung von Message-
# IDs konfiguriert sein. Eine Vorlagedatei für die
# FAQ muß im angegebenen Verzeichnis bereitstehen.
# Autor: Roland Bierlein <robier@gmx.de>
# Informationen zum Originalskript siehe unten.
#####################################################################
# K O N F I G U R A T I O N S B E R E I C H
# =========================================
#
var( $subject, $midname, $art, $f, $newsgrp, $korrnews, $knkonf, $testmode )
#
# Gewünschtes Subject der FAQ
$subject="[FAQ] SharePoint"
#
# Gewünschtes Präfix der Message-ID (Achtung, nur gültige Zeichen verwenden!)
$midname="SharepointFAQ"
#
# Speicherverzeichnis für Ini-Datei und FAQ-Vorlage
$art=HamPath + "AutoFAQ\"
#
# Name der FAQ-Vorlage im Speicherverzeichnis (ohne Dateiendung ".msg"!)
$f="Sharepoint"
#
# Ziel-Newsgroup(s), durch Kommata separiert
$newsgrp="microsoft.private.mvp.german"
#
# Optional (KorrNews): Pfad zur Korrnews.exe bzw. Only_kn.exe
$korrnews=HamPath + "KorrNews\only_kn.exe"
#
# Optional (KorrNews): Zu verwendender KorrNews-Konfigurationsabschnitt
$knkonf="News"
#
# Testmodus an(1)/aus(0) - Nur die Sicherungskopie wird erstellt.
$testmode=0
#
#####################################################################
# Script : AutoFAQ.hsc ( Idee von Heiko Rost - vbs Script ) #
# Description: Setzt die korrekten Message-ID/Supersedes-MID sowie #
# Subjekt-Header für das regelmäßige Posten von FAQs. #
# Bitte vor Gebrauch zuerst die AutoFAQ.txt lesen ;-) #
# Autor : Klaus Fischer, mailto:k-fischer@ngi.de #
# Version : 2000-07-11 #
# Optional : Korrnews, http://home.knuut.de/tgl/own/korrnews.htm (Who's computer is this?) #
#####################################################################
# Anleitung : siehe AutoFAQ.txt (RB: Nicht in der neuen Version!) #
#####################################################################

HamRequireVersion( "1.3.18.0", True ) # only with v2-Scripts running

HamWaitIdle

# ------------ intern global variables (you can edit) ---------------

varset( $sentmsg, $midname + ".msg" ) # Dateiname in News.Out
varset( $faqname, $f + ".msg" ) # FAQ-Vorlage
varset( $ini, $art + $f + ".ini" ) # Ini-File

# ------------ intern global variables (do not edit) ----------------

var( $FaqList,$SelIndex,$body,$faqfile )
var( $delmid,$setmid,$fqdn )
var( $midold,$midnew, $sent )
varset( $NewsOut, HamPath + "Groups\News.Out\" )
varset( $cr, chr( 10 ) + chr( 13 ) )
varset( $body, MsgAlloc )
varset( $Faqlist, MsgAlloc )

# ---------------- check, if necessary variables are configured ------------------

If( ($subject = "") || ($midname = "") || ($art = "") || ($f = "") || ($newsgrp = "") )
Warning( "Das Skript Auto-FAQ wurde nicht korrekt konfiguriert!" )
Quit
EndIf

# ---------------- check, if FQDN exists ------------------

CheckHamIni($fqdn)

# --------------- if no Ini-File exists, create it ------------------

CreateIni

# --------------- set/delete Header in your message -----------------

MsgLoad( $body, $art + $faqname )

# create new FAQ/Posting-Headers
$setmid = MsgSetHeader( $body, "Subject:", $subject )
$setmid = MsgSetHeader( $body, "Newsgroups", $newsgrp )
If( $sent <> 0 )
$setmid = MsgSetHeader( $body, "Supersedes", $midold )
EndIf
$setmid = MsgSetHeader( $body, "Message-ID", $midnew )

# -------------------- File copied to News.out ---------------------

if( !FileExists( $NewsOut + $sentmsg ) && !$testmode )
FileCopy( $art + $faqname, $art + $f + "-" + ActualDate + ".bak" )
MsgSave( $body, $art + $faqname )
FileCopy( $art + $faqname, $NewsOut + $sentmsg )
# write new MID for next Superseding in Ini-File
iniwrite( $ini,"Setup","SentMsg",ActualDate )
iniwrite( $ini,"MsgId","Alt",$midnew )
# Print($subject + " erfolgreich erstellt.")
else
if( $testmode )
FileCopy( $art + $faqname, $art + $f + "-" + ActualDate + ".bak" )
else
Print( $sentmsg + " existiert bereits!")
Quit
endif
endif

# ----------------------------- misc -------------------------------

# it's time to run korrnews ;- )
if( FileExists( $korrnews ) & !$testmode )
execute( $korrnews + " Type:" + $knkonf + " Filename:" + $NewsOut + $sentmsg)
endif

# -------------------------- AutoFAQ-End ---------------------------

MsgFree( $faqlist )
MsgFree( $body )
quit

# ----------------------------- Subs -------------------------------

sub ActualDate
var( $y,$m,$d )
decodetime( TIME,$y,$m,$d )
return( $y + "-" + $m + "-" + $d )
endsub

sub CheckHamIni( *$fqdn )
# checks on FQDN
varset( $hin, HamPath + "hamster.ini")
varset( $fqdn, iniread( $hin,"Setup","FQDN",""))
if( $fqdn="" )
Warning( "Auto-FAQ funktioniert nur, wenn im Hamster ein eigener FQDN konfiguriert wurde!")
quit
endif
endsub

sub CreateIni
var( $mo )
# Erstellen eines fehlenden Auto-FAQ-Verzeichnisses
if(!DirExists($art))
DirMake($art)
Print( "Verzeichnis " + lowercase($art) + " wurde erstellt.")
endif
# Überprüfung, ob eine FAQ-Vorlage existiert
If( !FileExists( $art + $faqname ) )
Warning( "Keine FAQ-Vorlage vorhanden!" )
Print( "Kopieren der FAQ-Vorlage ins Verzeichnis " + lowercase($art)+ " nötig!" )
Quit
EndIf
# Erstellen einer fehlenden Ini-Datei
if(!FileExists( $ini ) )
$mo = "<" + $midname + "." + hex( TIME ) +".AF"+ "@" + $fqdn + ">"
iniwrite( $ini,"Setup","SentMsg",0 )
iniwrite( $ini,"MsgId","Alt",$mo )
endif
$midold = iniread( $ini,"MsgID","Alt","" )
$midnew = "<" + $midname + "." + hex(TIME) + _
".AF" + "@" + $fqdn + ">"
$sent = iniread( $ini,"Setup","SentMsg","" )
# Prüfen, ob FAQ an diesem Tag schon verschickt wurde (klappt nur _ein_ Mal!)
if( $sent = ActualDate )
Warning( "Die FAQ " + $f + " wurde heute bereits verschickt!" )
iniwrite( $ini,"Setup","SentMsg",0 )
Quit
endif
endsub
---------8<------------------8<-------------

Die ganzen interaktiven Teile habe ich allerdings entfernt, da das mit
dem PG meines Wissens nach nicht zu verwirklichen ist.

Zu meinem Glück fehlte jetzt nur noch ein Hinweis, weshalb bei "Quit"
hier nicht alle Skript-Ressourcen freigegeben werden.

Saludos
Roland
--
Probleme mit OE? Hier gibt es die Lösungen: <http://oe-faq.de (Who's computer is this?) >!

"Das Kind hat den Verstand meistens vom Vater,
weil die Mutter ihren noch besitzt." (A. Sandrock)



Where you can get the newsgroup hamster.de.tools