AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Preislisten Generator für Excel

Ein Thema von milos · begonnen am 15. Sep 2013 · letzter Beitrag vom 16. Sep 2013
Antwort Antwort
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

AW: Preislisten Generator für Excel

  Alt 16. Sep 2013, 04:32
Was ich noch fragen wollte: Wie löst man am besten längere aufgaben?
Soll ich die Liste mit FOR parsen und wieder mit FOR generieren? Bei C# hatte ich das Problem das die anwendung eingefrohren ist bis der vorgang fertig war.(ist doch richtig da for 100% der cpu einnimt oder)
das wiederum brachte das problem das die ProgressBar nicht weiterlief sondern sofort auf 100% ging bei der fertigstellung. Wie kann ich das lösen das das programm nicht einfriert und das ein progressbar funktioniert? Ich dachte an eine sich selbst aufrufende funktion. das ist ja auch ne schleife die endlich sein kann aber wird dies funktionieren? und wie sieht der performance unterschied aus?

MfG
Für solche Sachen, packe ich immer ein Application.ProcessMessages in die FOR-Schleife unter Delphi. Damit läuft die Progressbar dann auch weiter und die Anwendung friert nicht ein. Unter C# müsste das Application.DoEvents() sein.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

AW: Preislisten Generator für Excel

  Alt 16. Sep 2013, 06:00
Das Problem sind häufig die vielen Punkte beim Aufruf der Excelfunktionen.
Delphi-Quellcode:
// kleines Beispiel
excel.activesheet.cells(1,j+1).EntireColumn.NumberFormat:='@';
Wenn man immer ganz oben beginnt und sich durch die Objekthierarchie von Excel herunterhangelt dann geht unheimlich viel Zeit verloren.
Wenn man's geschickt macht und viele Zellen auf einmal als Variantarray ausliest/schreibt dann kommt man auf Geschwindigkeiten von mehreren Tausend Zellen pro Sekunde.

Ob du C#, C++ oder Delphi verwendest ändert an der Geschwindigkeit gar nichts wenn 1000 Mal mehr Zeit durch obiges Problem verbraten wird.
Am ungeeignetsten ist C++ weil die Ansteuerung von Dispatch-Interfaces ziemlich unschön ist.
C# und Delphi sind da besser geeignet wobei ich Delphi vorziehen würde weil der Resourcenhunger kleiner ist und man kein .NET Framework benötigt.
fork me on Github
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz