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


Variabel utanför loop aktiveras

Postades av 2013-09-18 12:24:03 - Lars Nilsson, i forum visual basic - allmänt, Tråden har 6 Kommentarer och lästs av 4903 personer

Hej!

Om jag har en loop typ:

Countday = 0
Do Until Countday > 5000

Countday = Countday + 35
Loop

Sedan har en variabel utanför loopen:

if dag(1) = countday then

end if

Som det är nu måste jag ha if-satsen inne i loppen för att
dag(1) ska känna av att countday blir 35 eller 70 och så vidare...

Finns det något sätt att integer countday kan aktiveras utanför loopen medan den snurrar

Tack på förhand för support!

Visual Basic 2010 används.

/Lasse


Svara

Sv: Variabel utanför loop aktiveras

Postades av 2013-09-19 11:54:13 - Tomas Granlund

Vad är det för problem du försöker lösa?


Svara

Sv:Variabel utanför loop aktiveras

Postades av 2013-09-19 12:29:35 - Lars Nilsson

Först tack för att du alltid försöka hjälpa!

Har lyckats löst mina problem en gång men tyvärr blev programmet
alldeles för segt pga för många loopar. Måste nu tänka om för mitt skiftschema.

Jag har ett utgångsdatum (eller det blir 35 utgångsdatum till sist)
datdatum1 = DateSerial(intthisyear, 7, 1) ' 2013,7,1

Sedan ska jag med denna rad (eller snarare 31 för hela månaden augusti , tar en i taget)

datdag(1) = DateSerial(intthisyear, intthismonth, 1)

Jag ska söka efter att det gått 35 dagar eller +35 dagar alltså 35, 70, 105 osv... (för detta tal ökar när åren eller månaderna går)
mellan utgångsdatum och datdag(1).
Får göra så för alla dagar i månaden.
35 dagar blir det på datdag(5) och if-sats utförs genom att skriva ut rätt labels på rätt rad Fm, Em eller N.

Som sagt hade jag loopar som gjorde detta och det fungerade men det blev segt.

Kruxet är att jag måste ha 35 utgångsdatum och leta efter 35 dagar gått för att
gå igenom alla alternativ för att Fm, Em eller N ska hamna på rätt rad (dag).

Mitt program ser ut som en uppslagen bok, på ena sidan 1- 14 dagar,
andra sidan 15-31.

Jag måste gå igenom dag för dag för att se om det ska vara t.ex Fm, Fm, N
på den raden och det gör jag genom att ta ett ursprungsdatum där den raden finns och sedan
söka efter + 35 dagar när den raden dyker upp igen.

Sedan får jag göra så med 35 ursprungsdatum innan skiftschema-cykeln är slut.
Som sagt mastigt och kanske olösligt men man lär sig i alla fall lite programmering under tiden :)



/Lasse


Svara

Sv: Variabel utanför loop aktiveras

Postades av 2013-09-23 07:59:14 - Tomas Granlund

Har jag fattat det rätt så har du alltså ett skiftschema som spänner över 35 dagar och därefter upprepar sig?
D.v.s. att dag 1 har samma skift som dag 36, 71, 106, ..., (35 * N) + 1, etc?


Svara

Sv:Variabel utanför loop aktiveras

Postades av 2013-09-23 15:17:50 - Lars Nilsson

Ja korrekt, skiftcykeln består av 35 dagar sedan börjar det om.

Men kruxet är att för t.ex Augusti så måste man kolla dag för dag (31 dagar)
om det är en av dessa 35 dagar så jag kan skriva ut rätt skift på den raden.

Jag hade loopar som kollade dag för dag men det blev för många ett hundratal
så programmet blev segt. Skulle säkert kunna göra ett fåtal loopar i stället
men vet inte om programmet blir snabbare för det eftersom ett par loopar
ska göra samma arbete som många.

/Lasse


Svara

Sv: Variabel utanför loop aktiveras

Postades av 2013-09-24 07:39:17 - Tomas Granlund

Nåt sånt här kanske skulle kunna funka?

Public Class SkiftSchema
	Private schema As Dictionary(Of Long, String)
	Private startdate As DateTime

	Public Sub New()
		InitiateSchema()
	End Sub

	Private Sub InitiateSchema()
		schema = New Dictionary(Of Long, String)
		' TODO: Läs in ursprungsschemat från nån extern källa istf att hårdkoda in det

		startdate = New DateTime(2013, 1, 1)
		schema.Add(0, "FM")	' motsvarar startdate
		schema.Add(1, "FM")	' motsvarar startdate + 1
		schema.Add(2, "FM")	' motsvarar startdate + 2, etc
		schema.Add(3, "FM")
		schema.Add(4, "--")
		schema.Add(5, "--")
		schema.Add(6, "EM")
		schema.Add(7, "EM")
		schema.Add(8, "EM")
		schema.Add(9, "EM")
		schema.Add(10, "EM")
		schema.Add(11, "--")
		schema.Add(12, "--")
		schema.Add(13, "N")
		schema.Add(14, "N")
		schema.Add(15, "N")
		schema.Add(16, "N")
		schema.Add(17, "N")
		schema.Add(18, "--")
		schema.Add(19, "--")
		schema.Add(20, "--")
		schema.Add(21, "--")
		schema.Add(22, "FM")
		schema.Add(23, "FM")
		schema.Add(24, "EM")
		schema.Add(25, "EM")
		schema.Add(26, "N")
		schema.Add(27, "--")
		schema.Add(28, "--")
		schema.Add(29, "FM")
		schema.Add(30, "FM")
		schema.Add(31, "EM")
		schema.Add(32, "EM")
		schema.Add(33, "N")
		schema.Add(34, "--")
	End Sub

	Public Function GetSkiftStringForDate(d As DateTime) As String
		Dim diff As Long = DateDiff(DateInterval.Day, startdate, d)
		Dim skiftstring As String = ""

		diff = diff Mod 35
		If (diff < 0) Then ' startdate > d
			diff = 35 + diff
		End If

		If (schema.TryGetValue(diff, skiftstring)) Then
			Return skiftstring
		End If

		Return "??"	' Shouldn't Happen™
	End Function

End Class

' exempel på användning:
		Dim y As Integer = 2013
		Dim m As Integer = 8
		Dim skiftSchema = New SkiftSchema()
		For d As Integer = 1 To DateTime.DaysInMonth(y, m)
			Labels(d).Text = skiftSchema.GetSkiftStringForDate(New DateTime(y, m, d))
		Next d


Svara

Sv:Variabel utanför loop aktiveras

Postades av 2013-09-24 12:29:44 - Lars Nilsson

Ett stort tack för din hjälp, ska genast börja analysera din kod,
vill gärna förstå något innan jag använder det :)

/Lasse


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

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 570 762
27 959
271 761
445
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