<!-- START ZITATE
(c) by: Steven Varco
See: www.tech-island.de.cx for many more usefull Scripts
(Bitte diesen Vermerk stehen lassen!)
-->
}
//-->
</SCRIPT>
<SCRIPT language="JavaScript">
</TD>
</TR>
</TABLE></CENTER>
<CENTER> </CENTER>
<CENTER><TABLE BORDER COLS=1 WIDTH="80%" BGCOLOR="#00CC00" >
<TR>
<TD>
<CENTER><B><U><FONT FACE="Square721 BT"><FONT COLOR="#FF0000"><FONT SIZE=+1>Spruch
der Minute:</FONT></FONT></FONT></U></B></CENTER>
<SCRIPT LANGUAGE="JavaScript">
function greeting()
{
var today = new Date();
var hrs = today.getHours();
var min = today.getMinutes();
document.writeln("<CENTER>");
document.writeln("");
document.writeln("<FONT SIZE="+1" COLOR="#ffffff"><B>");
if ( min <= 0)
document.write("Fussgänger:<br>ein Mann, der Frau und Tochter<br>aber nur zwei Autos hat.<br><i>- Anonym</i>");
else if (min <= 1) è (dieser Sruch erscheint in der 1. Minute)
document.write("Heiraten:<br>Heirate oder heirate nicht - <br>du wirdst es in jedem Fall bereuen.<br><i>- Sokrates</i>");
else if (min <=2) è (dieser Sruch erscheint in der 2. Minute)
document.write("Uhu:<br>Gefiederte Katze.<br><i>- Anonym</i>");
else if (min <=3)
document.write("Kluge Sprüche:<br>Es gibt so viele kluge Sprüche,<br>begreifen kann sie keiner.<br>Darum belass' ich's hier bei dem,<br>sonst wird dies auch noch einer.<br><i>- Simon Anderhub</i>");
è (Usw.für alle anderen Minuten)
document.writeln("</B></FONT><BR><BR>");
document.writeln("");
document.writeln("");
document.writeln("</CENTER>");
}
greeting();
</SCRIPT>
</TD>
</TR>
</TABLE></CENTER>
// -->
<!-- END ZITATE --> |
Einfacher Passwortschutz
<!-- START PASSWORT
(c) by: Steven Varco
See: www.tech-island.com for many more usefull Scripts
(Bitte diesen Vermerk stehen lassen!)
-->
<!--
<Script language="JavaScript">
var passwort=prompt("Bitte geben Sie das Passwort ein","xxxxx");
document.write('<META HTTP-EQUIV="REFRESH" content="0;URL=' + passwort + '.html">') </Script>
<CENTER><H2>Uups, falsches Passwort ?
Dann gehen Sie bitte auf reload</H2></CENTER>
//-->
<!-- END PASSWORT --> |
String-trenner Funktion
Diese Funktionen musst ich mal während meiner LAP arbeit machen, findet selber raus wozu sie gut sind… 😉
char <em>strtrenner(char </em>string, char trennzeichen, int element)
//Gibt den n'ten teil eines strings zurück den man mit dem Trennzeichen unterteilt hat,
//wobei n = element.
//Beispiel: stringtrenner("123:456:789", ':', 2) = "456"
//Wenn das Attribut element eine höhere Zahl erhält als der String Elemente besitzt wird das letzte Element
//zurückgegeben.
{
static char returnstring [50];
unsigned int i_count;
int i_elementcount;
int i_endstrpos;
int i_startstrpos;
i_startstrpos = 0;
i_elementcount = 0;
for(i_count = 0; (i_count <= strlen(string)) && (element != i_elementcount); i_count++)
{
if((string[i_count] == trennzeichen) || (string[i_count] == 'n'))
{
i_elementcount++;
if(i_elementcount < element)
{
i_startstrpos = i_count+1;
}
}
}
i_endstrpos = i_count-1;
strncpy(returnstring, &string[i_startstrpos], i_endstrpos - i_startstrpos);
returnstring[i_endstrpos-i_startstrpos] = ' ';
return returnstring;
} |
Zeitfunktionen
long zeitinh(char *string, char trenn1, char trenn2, char trenn3)
//wandelt einen String der eine Zeit enthält in hundertstelsekunden um.
//erwartet wird ein string im format: HH:mm:ss:hh wobei der erste Doppelpunkt dem
//trenn1, der zweite dem trenn2 und der dritte dem trenn3 entspricht.
//Vorsicht: die funktion strtrenner() wird benötigt
{
long l_hundertstel;
char s_temp[12];
l_hundertstel = 0;
strcpy(s_temp, strtrenner(string, trenn1, 1));
printf("n%st", s_temp);
l_hundertstel += atoi(s_temp) <em> 60 </em> 60 * 100;
strcpy(s_temp, strtrenner(strtrenner(string, trenn1, 2), trenn2, 1));
printf("%st", s_temp);
l_hundertstel += atoi(s_temp) <em> 60 </em> 100;
strcpy(s_temp, strtrenner(strtrenner(strtrenner(string, trenn1, 3), trenn2, 2), trenn3, 1));
printf("%st", s_temp);
l_hundertstel += atoi(s_temp) * 100;
strcpy(s_temp, strtrenner(strtrenner(strtrenner(string, trenn1, 4), trenn2, 3), trenn3, 2));
printf("%sn", s_temp);
l_hundertstel += atoi(s_temp);
return l_hundertstel;
}
char *zeitformatieren(long zeitinh, char trenn1, char trenn2, char trenn3)
//gegenstueck zu zeitinh()
//formatiert die zeit mit den angegebenen Trennzeichen
//als eingabe wird die zeit in hundertstelsekunden erwartet
{
long l_hundertstel;
static char returnstring[20];
int stunden;
int minuten;
int sekunden;
int hundertstel;
l_hundertstel = zeitinh;
stunden = l_hundertstel / 100 / 60 / 60;
l_hundertstel -= stunden <em> 100 </em> 60 * 60;
minuten = l_hundertstel / 100 / 60;
l_hundertstel -= minuten <em> 100 </em> 60;
sekunden = l_hundertstel / 100;
l_hundertstel -= sekunden *100;
hundertstel = l_hundertstel;
strcpy(returnstring, " ");
if(stunden >= 10)
itoa(stunden, returnstring, 10);
else
itoa(stunden, &returnstring[1], 10);
returnstring[2] = trenn1;
if(minuten >= 10)
itoa(minuten, &returnstring[3], 10);
else
{
returnstring[3] = '0';
itoa(minuten, &returnstring[4], 10);
}
returnstring[5] = trenn2;
if(sekunden >= 10)
itoa(sekunden, &returnstring[6], 10);
else
{
returnstring[6] = '0';
itoa(sekunden, &returnstring[7], 10);
}
returnstring[8] = trenn3;
if(hundertstel >= 10)
itoa(hundertstel, &returnstring[9], 10);
else
{
returnstring[9] = '0';
itoa(hundertstel, &returnstring[10], 10);
}
return returnstring;
} |
Spaltennamen einer DB auslesen
Dim RS
set RS = Server.CreateObject("ADODB.Recordset")
RS.ActiveConnection = Cnn
RS.Source = "SELECT * FROM Tabelle"
RS.Open
Dim Feld
FOR EACH Feld IN RS.Fields
Response.Write Feld.Name & "<br>"
Response.Write Feld.Type & "<br>"
Next
RS.Close
set RS = nothing
Cnn.Close
set Conn = nothing |
".Type" gibt Dir dann auch den datentyp aus.
Tabellen einer Access Datenbank auflisten
Die einfachste Variante ist die Abfrage der Systemtabellen der Datenbank. Unter Access muss der
User "Administrator" Lesezugriff auf die Tabelle "MSysObjects" haben. Dies können Sie in Access 2000
unter "Extras -> Sicherheit -> Benutzer- und Gruppenberechtigungen" einstellen.
[listtables.asp]
<%
' --- SQL-String für Access
ListSQL = "SELECT name AS tablename FROM MSysObjects WHERE [type] = 1 AND [flags] = 0"
' --- SQL-String für Microsoft SQL Server 7.0
' --- ListSQL = "SELECT name AS tablename FROM SysObjects WHERE [type] = 'U'"
' --- SQL-String für Oracle 7.x oder höher (alle Tabellen, auf die der User Zugriff hat)
' --- ListSQL = "SELECT table_name AS tablename FROM all_tables"
' --- SQL-String für Oracle 7.x oder höher (alle Tabellen, die dem User gehören)
' --- ListSQL = "SELECT table_name AS tablename FROM user_tables"
Set ListRS = Server.CreateObject("ADODB.Recordset")
ListRS.Open ListSQL, objConn, 3, 3
' --- Ausgabe der Überschrift
Response.Write "<b><u>Tabellen in DB</u></b><br>" & vbCrLf
Do While Not ListRS.EOF
' --- Ausgabe des Tabellennamens
Response.Write ListRS.Fields("tablename") & "<br>" & vbCrLf
ListRS.MoveNext
Loop
ListRS.Close
Set ListRS = Nothing
%> |
——————————————————————————–
Alternativ kann man auch auf eine relativ unbekannte Methode des Connection-Objekts zurückgreifen.
Die OpenSchema-Methode. Mit Hilfe dieser Methode können Sie sehr viel über Ihre Datenbank erfahren.
So zum Beispiel auch, welche Tabellen in der Datenbank enthalten sind.
[listtables.asp]
<%
' --- Öffnen der Datenbankverbindung
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "<DSN>", "<UID>", "<PWD>"
' --- Instantiieren des Recordsets für das Auslesen der Tabellen
' --- adSchemaTables = 20 (Konstante definiert in adovbs.inc)
Set objRS = objConn.OpenSchema(adSchemaTables)
Response.Write "<b>Tabellenname</b><br>"
Do Until objRS.EOF
' --- Da auch die Systemtabelle (objRS.Fields("TABLE_TYPE") = "SYSTEM_TABLE")
' --- zurückgegeben werden, wird eine Eingrenzung auf die Usertabellen implementiert
If objRS.Fields("TABLE_TYPE") = "TABLE" THEN
Response.Write objRS.Fields("TABLE_NAME") & "<br>" & vbCrLf
End if
objRS.MoveNext
Loop
' --- Schliessen und terminieren des Recordets
objRS.Close
Set objRS = Nothing
' --- Schliessen und terminieren der Datenbankverbindung
objConn.Close
Set objConn = Nothing
%> |
Browser ermitteln
' --- Ermitteln des Browsertyps
Set objBrowser = Server.CreateObject("MSWC.BrowserType")
If objBrowser.Browser = "IE" Then
CSSFile = "ie.css"
Else
CSSFile = "ns.css"
End if
Set objBrowser = Nothing
In den Head-Tag fügst du dann folgendes ein:
<link rel=stylesheet href="<%=CSSFile%>" type="text/css"> |
An NT-Domäne anmelden
<%
If Request.ServerVariables("LOGON_USER") = "" Then
Response.Status = "401 - Not allowed"
Response.End
End if
' --- Wenn der User hierhin kommt, ist das Login OK
' --- daher kann man einfach weitermachen ohne weitere Prüfung
...
%> |
Wartefunktion
Mittels diesem code kann man in ASP eine warte-funktion wie in VB erstellen:
<%
While a=1
Response.Write "Hi" & "<br>"
WaitNSeconds(1)
Wend
Private Sub WaitNSeconds(n)
Response.Write Now & " - " & Timer & "<br>"
StopTimer = Timer + n
Do While Timer < StopTimer
Loop
Response.Write Now & " - " & Timer & "<br>"
End Sub
%> |
Pfad entfernen
' Pfad entfernen
Function GetFileName(FileName)
Dim TmpFileName
TmpFileName = FileName
TmpFileName = Trim(Replace(TmpFileName,"", "/"))
TmpFileName = Right(TmpFileName, Len(TmpFileName) -
InStrRev(TmpFileName, "/",true, vbTextCompare))
GetFileName = TmpFileName
End Function |
Respone.Write GetFileName("c:inetpubwwwrootfilesblabla.asp") |
ergibt
blabla.asp
Statt einem phys. Pfad kann man auch eine URL der Func. übergeben
ggf. muss man es noch ein wenig anpassen.