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


Hoppa över "Case 0"

Postades av 2003-07-28 22:09:51 - Sören Andrén, i forum visual basic - allmänt, Tråden har 10 Kommentarer och lästs av 551 personer

Hur gör man för att hoppa över "Case 0" i detta exemplet
Jag vill att det ska börja med "ListIndex 1"

X = List1.ListIndex
Select Case X
Case Is = X
Mid$(Text, 10 + 16 * X, 16) = Text1
End Select


Sören


Svara

Sv: Hoppa över "Case 0"

Postades av 2003-07-28 22:51:09 - Sven Åke Persson

Typisk nybörjarfråga

Select Case X
Case Is > 0


Svara

Sv: Hoppa över "Case 0"

Postades av 2003-07-28 23:03:08 - Andreas Hillqvist

Varför ha casesatsen. Den saknar funktuin.
Du kan skriva:
<code>
X = List1.ListIndex
Select Case X
Case 0
Case Is = X
Mid$(Text, 10 + 16 * X, 16) = Text1
End Select
</code>
Eller:
<code>
X = List1.ListIndex
If x <> 0 Then
Mid$(Text, 10 + 16 * X, 16) = Text1
End If
</code>


Svara

Sv: Hoppa över "Case 0"

Postades av 2003-08-06 15:55:36 - Richard Bäckström

.. och dessutom tror jag väl att:

Mid$(Text, 10 + 16 * X, 16) = Text1

skall vara:

Text1 = Mid$(Text, 10 + 16 * X, 16)

eller?


Svara

Sv: Hoppa över "Case 0"

Postades av 2003-08-06 19:58:42 - Andreas Hillqvist

MAn kan ersätta en bit av en sträng med mid funktionen genom att tilldela värden till den.

Exempel:
<code>
Dim Test As string
Test = "xxxxxxx"
Mid(Test, 3, 1) = "y"
Debug.Print Test
</code>

Vilket ger: xxxyxxx


Svara

Sv: Hoppa över "Case 0"

Postades av 2003-08-08 17:29:16 - Niklas Jansson

Notera bara att det är en ineffektiv operation. Det är en service till programmeraren (såsom ^), men använd inte i onödan.


Svara

Sv: Hoppa över "Case 0"

Postades av 2003-08-09 22:49:21 - Andreas Hillqvist

Vad har du fått det ifrån? Vad rekomenderar du istället för mid?


Svara

Sv: Hoppa över "Case 0"

Postades av 2003-08-10 16:10:46 - Niklas Jansson

Tänk på hur det måste fungera.
Du vill förändra en del av en sträng, men du är samtidigt tillåten att ändra storlek, och alltså funkar inte reference counting, och man kan inte behålla strängens platsw i minnet.
Det som då måste göras är att allokera nytt minne, kopiera första delen av strängen till den platsen i minnet, sen den bytta delsträngen, och sen slutet av strängen, sen frigöra det gamla minnet.

VB kanske gör ett runtime-test för att se om utbytessträngen är lika stor, men då blir det ännu värre om det inte är det...

Sen säger jag inte att det nödvändigtvis finns något bättre sätt, bara att men bör se upp, och inte använda metoden i onödan. På samma sätt är det inget fel att använda ^ om exponenten är en double, men för heltalstyper är det helt vansinnigt.


Svara

Sv: Hoppa över "Case 0"

Postades av 2003-08-10 22:04:23 - Andreas Hillqvist

Tillåten att ändra storlek? Det är det väl ändå inte?
<code>
Dim Text As String

Text = "abcdefgh"
Mid(Text, 4, 9) = "DEFGHIJKL"
Debug.Print Text

</code>

Som jag ser det skriver den bar över en del av det minet en sträng pekar på.


Svara

Sv: Hoppa över "Case 0"

Postades av 2003-08-10 23:20:22 - Niklas Jansson

Okej, då ger jag mig! =)
Jag antog helt sonika att det var så det gick till. (Fast jag såg att du skriver Mid och inte Mid$, fyyyyy =). )

Lite förrädiskt är det ju dock...VB bestämmer en hel del om vad man skall göra, och det är inte så lätt att se, heller.
1. I första hand är det startsträngens storlek som betyder nåt, den kommer inte förändras; är det för många tecken specificerade i Mid$-anropet så ignoreras de.
2. Om det är fler tecken i den nya delsträngen än vad som står specificerat i Mid$, så ignoreras de överflödiga.
3. Om det är färre tecken i den nya delsträngen än i Mid$ så tas bara de med, och resten är oförändrat.

Jaja... de har ju i alla fall tänkt på snabbheten i detta fallet. Tycker det är lite konstigt att det inte genereras fel eller att strängen förändras. Det vore det mest rimliga ur VB-anda.
I t.ex. C eller C++ så har man bestämt att kompilatorn inte ska göra några tunga operationer, och ansvaret läggs på programmeraren, till skillnad från VB, där man kan göra tunga saker mycket enkelt, men ibland aningen ineffektivt. Man kan ju ta ^ som exempel, eller typomvandlingarna. Skit samma; nu va det här utrett...


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 166
27 952
271 704
739
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