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


Problem med diagram i en picturebox

Postades av 2002-09-21 23:24:14 - Gabriel Karlsson, i forum visual basic - allmänt, Tråden har 4 Kommentarer och lästs av 442 personer

Hej.

(mitt projekt måste provas för att ni ska se "problemet" - se nedan)

Jag skulle verkligen behöva en del hjälp med det här projektet.
Det är en del av ett större program för beräkning av högtalarlådor, och det använder sig av en enkel picturebox där programmet ritar ljudkurvan. Jag har tidigare fått hjälp med själva modellen för diagrammet, men jag kan inte lista ut hur jag går vidare och gör diagrammets höjd/bredd valbar, så att alla variabler följer med och visar en korrekt kurva oavsett diagramstorlek...

Vidare så skulle jag vilja ha "frekvensomfånget" valbart. I exemplet är frekvensgången 20-200 Hz. Och nivån -30 till +10dB. Jag vill låta användaren bestämma dessa saker.

Tacksam för tips


Test-projektet kan plockas hem här (5kb):
http://m1.492.telia.com/~u49206085/_diagram.zip


Svara

Sv: Problem med diagram i en picturebox

Postades av 2002-09-23 08:06:40 - Jonas Gauffin

som vanligt är det ingen som är sugen på att titta på färdiga program. var vänlig och visa den rutinen som ritar upp ljudkurvan samt det indata som du skickar till den.


Svara

Sv: Problem med diagram i en picturebox

Postades av 2002-09-23 10:05:19 - Gabriel Karlsson

Okej, jag trodde det skulle vara lättare att titta på ett projekt, men okej, här kommer all kod:

<code>
'Variabler för placering av grafik
Global x1, y1 'Övre vänstra hörnet
Global x2, y2 'Nedre högra hörnet

Sub drawgrid()
'Ritar koordinatsystem
ReDim xaxis$(20)
xaxis$(1) = "20"
xaxis$(2) = "30"
xaxis$(3) = "40"
xaxis$(4) = "50"
xaxis$(5) = "60"
xaxis$(7) = "80"
xaxis$(9) = "100"
xaxis$(10) = "200"

main.graph.CurrentX = x1 - 350
main.graph.CurrentY = y1 - 250
main.graph.Print "dB"
main.graph.CurrentX = x2
main.graph.CurrentY = y2 + 300
main.graph.Print "Hz"

dB = 14

For Y = y1 To y2 Step (y2 - y1) / 10

main.graph.Line (595, 1240)-(5300, 1240) '0 db-linjen
main.graph.Line (x2, Y)-(x1, Y)
dB = dB - 4
main.graph.CurrentX = main.graph.CurrentX - 400
main.graph.CurrentY = main.graph.CurrentY - 75
main.graph.Print dB
Next Y

For F = 20 To 200 Step 10
If F <= 100 Or F = 200 Then
x = Log10(F / 20) * (x2 - x1) + x1
main.graph.Line (x, y1)-(x, y2)
main.graph.CurrentX = x - 100
main.graph.CurrentY = y2 + 120
i = i + 1
main.graph.Print xaxis$(i)
End If
Next F

End Sub


Static Function Log10(x)
'Beräknar 10-logaritm
Log10 = Log(x) / Log(10#)
End Function


Private Sub calc_Click()

graph.Cls

drawgrid

'Variabler som beräknas:
typeB = 1 '1 = basreflex, 0 = sluten låda
Fb = 35 'Lådans avstämningsfrekvens i Hz
VB1 = 80 'Lådans volym i liter
fs = 30 'Elementets resonansfrekvens i Hz
q = 0.33 'Elementets Q-värde (qts)
vas = 144 'Elementets ekvivalenta volym i liter
numelemB = 1 'Antal högtalarelement
pushpullB = False 'isobarik eller ej

'------------------------------------

VB1 = VB1 / numelemB
If pushpullB Then VB1 = VB1 * 2
If typeB = 0 Then Fb = 0

A = Fb ^ 2 / fs ^ 2
B = A / q + Fb / (7 * fs)
C = 1 + A + Fb / (7 * fs * q) + vas / VB1
D = 1 / q + Fb / (7 * fs)

aa = -40 / (y2 - y1)
bb = 10 - y1 * aa

graph.DrawWidth = 2
graph.ForeColor = QBColor(9)
For F = 10 To 198
If F > 100 Then F = F + 2
fn = F / fs
resp = fn ^ 4 / Sqr((fn ^ 4 - C * fn ^ 2 + A) ^ 2 + (B * fn - D * fn ^ 3) ^ 2)
dB = 20 * Log10(resp)
If dB > 10 Then dB = 10
If dB < -30 Then dB = -30

Y = (dB - bb) / aa
x = Log10(F / 20) * (x2 - x1) + x1
If F = 10 Then
graph.PSet (x, Y)
Else
graph.Line -(x, Y)
End If
Next F
graph.DrawWidth = 1
graph.ForeColor = QBColor(0)

End Sub
</code>


Svara

Sv: Problem med diagram i en picturebox

Postades av 2002-09-23 10:30:46 - Andreas Hillqvist

Jag har kikat på koden. Men det är tyvär för dåligt namngivna variabler. För lite kommentarer. För många hårdkodade värden. För att jag ska ens försöka sätta mig in i din kod.


Svara

Sv: Problem med diagram i en picturebox

Postades av 2002-09-23 12:08:29 - Gabriel Karlsson

Jag har själv inte direkt nån koll på den här koden, och det är det som är problemet. Jag vill kunna variera den lite, om man så säger.

Hela "drawgrid"-rutinen är en djungel för mig. Kan inte få grepp om den.

I "calc" körs alltså beräkningen och plottar kurvan. De variabler som beräknas är de som är kommenterade. Den här koden är ett förenklat utdrag ut programmet, och jag valde att sätta in riktiga värden istället för att skriva "Vas = txtvas" eller liknande. Inga variabler är heller dimmade, mest för att spara utrymme här.

Jag förstår att det är svårt att sätta sig in i den här kryptiska koden. Jag förstår den ju inte själv. Ett provkörningsbart projekt finns i filen jag länkar i mitt första inlägg.


Svara

Nyligen

  • 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
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

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 604
27 953
271 705
5 996
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