initial commit
This commit is contained in:
56
tools/texel/skripte/-1.tsc
Normal file
56
tools/texel/skripte/-1.tsc
Normal file
@@ -0,0 +1,56 @@
|
||||
// MMult(bereich1,bereich2,bereichZ)
|
||||
// tm 97-11-23
|
||||
// multipliziert die zwei Matrizen bereich1,bereich2
|
||||
// und schreibt das Ergebnis ab der linken oberen Zelle
|
||||
// des Zielbereichs ins Blatt
|
||||
|
||||
proc main(...)
|
||||
{
|
||||
if (argc<5) exit(1);
|
||||
|
||||
datei = argv[0];
|
||||
zelle = argv[1];
|
||||
|
||||
if (address("texel"))
|
||||
{
|
||||
m1 = GetRange(argv[2],datei);
|
||||
m2 = GetRange(argv[3],datei);
|
||||
dest = GetRange(argv[4],datei);
|
||||
|
||||
r1s = m1[0];
|
||||
c1s = m1[1];
|
||||
r1e = m1[2];
|
||||
c1e = m1[3];
|
||||
|
||||
r2s = m2[0];
|
||||
c2s = m2[1];
|
||||
r2e = m2[2];
|
||||
c2e = m2[3];
|
||||
|
||||
dr = dest[0];
|
||||
dc = dest[1];
|
||||
|
||||
if (((r1e - r1s) == (c2e - c2s)) && ((c1e - c1s) == (r2e - r2s)))
|
||||
{
|
||||
for (r=r1s; r<=r1e; r++)
|
||||
{
|
||||
for (c=c2s; c<=c2e; c++)
|
||||
{
|
||||
wert = 0.0;
|
||||
|
||||
for (i=c1s; i<=c1e; i++)
|
||||
{
|
||||
z1 = GetCell(r,i,datei);
|
||||
z2 = GetCell(i+r2s-c1s,c,datei);
|
||||
|
||||
wert += z1*z2;
|
||||
}
|
||||
|
||||
SetCell(r+dr-r1s,c+dc-c2s,wert,datei);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ReturnCellValue(datei,zelle,0.0);
|
||||
}
|
||||
}
|
||||
24
tools/texel/skripte/0.tsc
Normal file
24
tools/texel/skripte/0.tsc
Normal file
@@ -0,0 +1,24 @@
|
||||
// Texel-Demoskript (f<>r Scripter von Holger Weets und Christian Wempe)
|
||||
// als Argumente werden immer <20>bergeben:
|
||||
// Dateiname (z.B. "C:\Texel\balmer.txl")
|
||||
// Zellreferenz (z.B. "B52")
|
||||
// danach k<>nnen noch beliebig viele Parameter (auch Bereichsangaben
|
||||
// der Form "A1:C23") folgen
|
||||
// die R<>ckgabe an Texel *mu<6D>* mit dem GEMScript-Kommando
|
||||
// ReturnCellValue(datei,zelle,wert) erfolgen; die Zielzelle
|
||||
// mu<6D> die aufrufende Zelle sein ("=SkriptNr(...)")
|
||||
|
||||
|
||||
proc main(...)
|
||||
{
|
||||
if (argc<2) exit(1);
|
||||
|
||||
datei = argv[0];
|
||||
zelle = argv[1];
|
||||
wert = 0.0;
|
||||
|
||||
/* hier beginnt das eigentliche "Makro" */
|
||||
|
||||
/* R<>ckgabe des Ergebnisses */
|
||||
Texel.ReturnCellValue(datei,zelle,wert);
|
||||
}
|
||||
17
tools/texel/skripte/42.tsc
Normal file
17
tools/texel/skripte/42.tsc
Normal file
@@ -0,0 +1,17 @@
|
||||
// Berechnet die Fl<46>che des Kreises mit dem Radius r=argv[2]
|
||||
// tm 97-11-20
|
||||
|
||||
proc main(...)
|
||||
{
|
||||
if (argc<3) exit(1);
|
||||
|
||||
datei = argv[0];
|
||||
zelle = argv[1];
|
||||
r = argv[2];
|
||||
|
||||
/* Fl<46>che berechnen */
|
||||
wert = pi() * r * r;
|
||||
|
||||
/* R<>ckgabe des Ergebnisses */
|
||||
Texel.ReturnCellValue(datei,zelle,wert);
|
||||
}
|
||||
35
tools/texel/skripte/datumneu.sic
Normal file
35
tools/texel/skripte/datumneu.sic
Normal file
@@ -0,0 +1,35 @@
|
||||
// externes Scripter-Skript, das im <20>bergebenen Sheet
|
||||
// (bzw. im obersten, wenn kein Sheet angegeben wurde)
|
||||
// alle Uhrzeitangaben neu parst; dadurch werden die
|
||||
// Rundungsfehler alter Texel-Versionen beseitigt;
|
||||
// tm 97-11-28
|
||||
|
||||
if (address("texel"))
|
||||
{
|
||||
if (argc<1) datei=GetFront();
|
||||
else
|
||||
datei=argv[0];
|
||||
|
||||
rmax=GetRows();
|
||||
cmax=GetColumns();
|
||||
|
||||
printf("<22>ndere %d Zeilen im Sheet \"%s\".\n",rmax,datei);
|
||||
|
||||
for (r=0; r<rmax; r++)
|
||||
{
|
||||
printf("Zeile %d...",r+1);
|
||||
|
||||
for(c=0; c<cmax; c++)
|
||||
{
|
||||
if (IsCellConst(r,c,datei))
|
||||
{
|
||||
SetCell(r,c,GetCellFormula(r,c,datei),datei);
|
||||
}
|
||||
}
|
||||
|
||||
printf("ok.\n");
|
||||
}
|
||||
|
||||
Recalc();
|
||||
printf("Fertig!\n");
|
||||
}
|
||||
Reference in New Issue
Block a user