Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Skärmuppdatering..

Postades av 2001-05-29 21:37:00 - Rickard Andersson, i forum visual basic - allmänt, Tråden har 10 Kommentarer och lästs av 843 personer


Hur gör man enklast om man vill uppdatera en label som innehåller radnr samtidigt som man fyller en flexgrid.

Det är så jäkla många poster så jag måste på nåt sett visa hur långt jag kommit och om jag bara ändrar värdet för labeln händer ingenting förrän den räknat färdigt, men det kan ta en 20-30min..

Mvh
Rickard


Svara

Sv: Skärmuppdatering..

Postades av 2001-05-29 22:51:00 - Sven Åke Persson

Hej
Förmodligen räknar du i någon form av loop

Där lägger du in ett DoEvents och omedelbart före eller blir
det efter ? testa båda alternativen.
Label1 = radNr

mvh
Sven


Svara

Sv: Skärmuppdatering..

Postades av 2001-05-29 23:44:00 - Rickard Andersson

Jupp Det funka! Tack så mycket!

Men.....

Det går så förbenat mycket långsammare då eftersom den ritar om hela fönstret för varje rad som trillar in i Flexgriden. Och det är närmare 80.000 vilket ger ungefär 40 min istället för 7.

Går det inte att bara uppdatera den lilla lilla Labeln? Allt annat får se skit ut om det vill..

Mvh
Rickard


Svara

Sv: Skärmuppdatering..

Postades av 2001-05-30 01:05:00 - Sven Åke Persson

Hej
Du får kosta på dig att göra FlexGriden.Visible = False
Precis före du startar loopen och sedan Visible = True
när alla uträkningar är klara.

Du får visa en trevlig bild under tiden med "Vänta Jag Räknar"

mvh
Sven

Kolla tiden så ser du vilken oehörd skillnad det blir

DS


Svara

Sv: Skärmuppdatering..

Postades av 2001-05-30 01:21:00 - Sven Åke Persson

Igen

En annan sak som du skall anlysera noga , är om du kan
göra förberäkningar innan du startar loopen.
Använd så många konstanter som möjligt är.
Vidare om du har sinus cosinus beräkningar så
lägger du in alla värde för varje grad eller halvgrad
som du behöver för noggrannhet i en Array.
Hämta från arrayen istället för att beräkna i varje loop.

Om du känner för det kan jag hjälpa till att anlyser dina
formler för optimering.

mvh
Sven


Svara

Sv: Skärmuppdatering..

Postades av 2001-05-30 02:41:00 - Sven Åke Persson

Ytterliggare

Du behöver inte göra DoEvents i varje slinga
lägg in en räknare tex i = i +1

If i > 100 then
DoEvents
i = 0
Label1 = radNr
End if

DS


Svara

Sv: Skärmuppdatering..

Postades av 2001-05-30 03:14:00 - Rickard Andersson

Eftersom du verkar vara så väldans kvällspigg av dig...

Så kanske du kan lista ut varför den här loopen först räknar upp till sista posten säg 15 och sedan helt plötsligt hoppar ner till 10 igen och sen går upp till 15 och avslutar...

Ska testa dina förslag med visible..

Dim a As Double
Dim c As Double
Dim Max As Double


Public Sub PrintFile()
Max = Form1.vsFlexGrid1.Rows - 1


' =========================================
Open "c:\edi.txt" For Output As #1

Print #1, "8;7;"

head = "H;" & rad & "-1"

' =========================================
For a = 1 To Max

Phonenr = Form1.vsFlexGrid1.Cell(flexcpText, a, 0) ' Från Telnr
Product = Form1.vsFlexGrid1.Cell(flexcpText, a, 9) ' Artikel i Visma
duration = Form1.vsFlexGrid1.Cell(flexcpText, a, 4) ' Samtalslängd
cost = Form1.vsFlexGrid1.Cell(flexcpValue, a, 5) ' Kostnad samtal
FactCustno = Form1.vsFlexGrid1.Cell(flexcpValue, a, 8) ' Faktureras kundnr i Vismaa
Actorno = Form1.vsFlexGrid1.Cell(flexcpValue, a, 11) ' Aktörsnr i Visma

For c = a To Max - 1
If Phonenr = Form1.vsFlexGrid1.Cell(flexcpText, c + 1, 0) Then
duration = Val(Form1.vsFlexGrid1.Cell(flexcpText, c + 1, 4)) + Val(duration)
cost = Val(Form1.vsFlexGrid1.Cell(flexcpValue, c, 5)) + Val(cost)

If c = Max - 1 Then
Print #1, Actorno & " " & Phonenr & " " & duration & " " & cost
End If

Else
Print #1, Actorno & " " & Phonenr & " " & duration & " " & cost
a = c
Exit For
End If
Next

' If a = Max Then
' Print #1, Actorno & " " & Phonenr & " " & duration & " " & cost
'End If


Next


Close #1

End Sub

Tack, Tack, Tack!!

//R


Svara

Sv: Skärmuppdatering..

Postades av 2001-05-30 03:28:00 - Rickard Andersson

Joho du.. Det gick skapligt mycket fortare.. Har inte vågat köra med stora filen än men 500 rader gick på kanske 10 sekunder mot 30 innan..

Tyvärr måste jag göra en del eländiga saker i loopen, bla en sqlfråga som jag inte kommer ifrån... Pust och stön... 8 timmar till deadline... hua.. Men jag är nästan färdig med en alfaalfa som kanske håller att provköra..

Rickard, Killen med koll på kalendern...


Svara

Sv: Skärmuppdatering..

Postades av 2001-05-30 10:41:00 - Sven Åke Persson

Hej igen
Gjorde en simulation på ditt loop problem men kan
inte få fram 10 15 problemmet. Du kan själv kolla om
det klarna med denna simulation.
Dvs när PhoneNr stämmer och kanske stämmer två ggr ?

Option Explicit
Private Sub Command1_Click()
Dim a As Double
Dim c As Double
Dim Max As Double
Dim Phonenr As String 'dummy
Max = 500
Phonenr = "50022273"
' =========================================
'Open "c:\edi.txt" For Output As #1
'Print #1, "8;7;"
'head = "H;" & rad & "-1"
' =========================================
For a = 1 To Max
'.............................
'..............................
For c = a To Max - 1
If c = 15 Then 'dummy simulation
Phonenr = "50022272"
End If
If Phonenr = "50022272" Then
'Form1.vsFlexGrid1.Cell(flexcpText, c + 1, 0) Then
'.......................................
If c = Max - 1 Then
'Print #1, Actorno & " " & Phonenr & " " & duration & " " & cost
Label1 = c
End If
Else
'Print #1, Actorno & " " & Phonenr & " " & duration & " " & cost
Label2 = a
a = c
Exit For
End If
Next ' c

Next 'a
'Close #1
End Sub

mvh
Sven


Svara

Sv: Skärmuppdatering..

Postades av 2001-05-31 14:02:00 - Rickard Andersson

Hittade felet men förstår inte riktigt varför det är så...

Om den ger sig in i loop två så vet jag ju att det är flera rader innan den ska skriva ut någon rad. när den sen går ur den loopen så får den a=c dvs att den ska skita i dom raderna i den stora loopen. Men det verkar den tappa bort så fort den är ute i den stora loopen. så jag flyttade ut det till efter next och då gick det bra.

Gäller variabler för såna räknare bara innom resp loop? Verkar så..

Iallfall, nöjd och glad på alla sätt och kunden också.. Tack, Tack!

/Rickard


Svara

Sv: Skärmuppdatering..

Postades av 2001-05-31 15:15:00 - Sven Åke Persson

Hej
>Gäller variabler för såna räknare bara innom resp loop? Verkar så..

Nej variablen lever tills allt är utfört i SubRutinen utan Error

Okidoki du har fixat det

ha det
Sven


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 620
27 953
271 709
588
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies