initial commit

This commit is contained in:
root
2023-06-12 09:14:09 +02:00
commit b4912f303e
2545 changed files with 209350 additions and 0 deletions

View 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
View 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);
}

View 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);
}

View 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");
}