Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Geschwindigkeit Starcalk/Starbasic

1 view
Skip to first unread message

Andreas Geiermann

unread,
Aug 21, 1999, 3:00:00 AM8/21/99
to
Hallo Leute,

ich habe eine Frage zur Geschwindigkeit von SC 5.1 in Verbindung mit
Starbasic.
Bei einer importierten excel-Tabelle (sämtliche makros und Programme
in Starbasic umgeschrieben uffff ;-)) ) laufen diese EXTREM langsam.
Bsp: Tabelle innerhalb eines Dokuments kopieren ca. 3 sec, ca. 200
zahlenwerte/textinhalte von der ersten in die zweite Tabelle kopieren
dauert ca. 1 min (excel ca. 5sec) auf P166/72MB, bei P400/64MB
immerhin noch ½ min

beispielmacro:
es kopiert aus tabelle 1 daten in tabelle 2 (7 Tabellenfelder werden
gelesen/geschrieben)
i=zeilennr. erste tabelle
e=zeilennr. zweite tabelle

sub zeileausfuellen
monat=celltext(6,i,1)
anummer=celltext(4,i,1)
putCell(1,e,activetable.index,kundenname) 'k-name in tabelle
erlöse
putCell(4,e,activetable.index,monat) 'monat in tabelle erlöse
putcell(3,e,activetable.index,anummer) 'auftragsnummer
Betragre=cells(7,i,1).value 'betrag in Tabelle1

If betragre<0 then 'EK
Betragls=cells(6,e,2).value 'Betrag in Tabelle2
putCell(6,e,activetable.index,betragls+betragre)
end if

end sub

Frage nun: gibt es tuning im Bereich der Befehle putcell,cells,
celltext, oder muß man bestimmte Optionen zur
Geschwindigkeitsverbesserung der Macros in SC einstellen??

Ich weiß, die Frage(n) sind vielleicht nicht an die richtige Adresse
gestellt, aber ich bin neu im Bereich newsforen und für tipps dankbar.
In meiner Fa. (5 Rechnerplätze) habe ich vor, die vorhandene
SmallBusinessEdition5.1 zum Arbeiten und nicht zum Warten auf
Ergebnisse einzusetzen. Da das Officepaket mich eigentlich überzeugt
(seit SO3.1) mache ich die Entscheidungsfindung (SO5.1 / MSO2000)
abhängig von der Verarbeitungsgeschwindigkeit (der macros, da diese
sowohl beim SW als auch SC eine große Rolle im Arbeitsablauf spielen).

Grüße von (ist jetzt auf Weinfest 8-; ...)
Andy


Siegfried Höfner

unread,
Aug 22, 1999, 3:00:00 AM8/22/99
to

Andreas Geiermann schrieb in Nachricht
<19990821...@mis.configured.host>...
Hallo Leute,

end sub

Hallo Andreas,
ich habe dein Beispielmakro(leicht abgewandelt-siehe unten) bei mir
getestet (Windows95;SO 5.0; P166MMX /64MB) und komme dabei für 100
Durchläufe auf ca. 8 Sekunden, also kein schlechter Wert.
Das Zeitverhalten ändert sich auch nicht, wenn die aktive Tabelle eine
andere als Tabelle 2 ist.Es scheint einen anderen Bremser zu geben.

'Beispiel-Makro (abgewandelt)

sub zeileausfuellen
' i=zeilennr. erste tabelle
' e=zeilennr. zweite tabelle
i = 1
e = 5

For x = 1 To 100 ' 100 Durchläufe
monat=celltext(6,i,1)
anummer=celltext(4,i,1)
kundenname = celltext(2,i,1) ' ???


putCell(1,e,activetable.index,kundenname) 'k-name in tabelle erlöse
putCell(4,e,activetable.index,monat) 'monat in tabelle erlöse
putcell(3,e,activetable.index,anummer) 'auftragsnummer
Betragre=cells(7,i,1).value 'betrag in Tabelle1

If betragre<0 then 'EK
Betragls=cells(6,e,2).value 'Betrag in Tabelle2
putCell(6,e,activetable.index,betragls+betragre)
end if

putCell(9,e,activetable.index,x) ' Anzahl Durchläufe anzeigen
next
end sub

Gruß Siegfried

Michael Herger

unread,
Aug 23, 1999, 3:00:00 AM8/23/99
to
Hallo Andreas

> Bei einer importierten excel-Tabelle (sämtliche makros und Programme
> in Starbasic umgeschrieben uffff ;-)) ) laufen diese EXTREM langsam.
> Bsp: Tabelle innerhalb eines Dokuments kopieren ca. 3 sec, ca. 200
> zahlenwerte/textinhalte von der ersten in die zweite Tabelle kopieren
> dauert ca. 1 min (excel ca. 5sec) auf P166/72MB, bei P400/64MB
> immerhin noch ½ min

Beobachte doch mal, ob die Warterei mit heftiger Plattenaktivität
verbunden ist. SC braucht hin und wieder extrem viel Speicher (z.B.
beim Löschen von Spalten o.ä.) für die Rückgängig-Funktion. Bei mir
hat es schon sehr viel geholfen, diese zu Beginn eines Makros zu
deaktivieren, und zum Schluss wieder zu aktivieren:

' alte Anzahl Schritte speichern
UndoCount = Application.UndoCount
Application.UndoCount = 0
' hier tust du was
...
' Undo wieder aktivieren
Application.UndoCount = UndoCount


--

Michael

----------------------------------------------------------------------
http://www.jo-sac.ch/lindenberg - die JO des SAC Lindenberg online
http://www.teamstaroffice.org - Team StarOffice - the user group


0 new messages