|
In an Array?
Try something like this
Sub SortNumbers(iArray As Variant)
Dim lLoop1 As Long
Dim lLoop2 As Long
Dim lTemp As Long
For lLoop1 = UBound(iArray) To LBound(iArray) Step -1
For lLoop2 = LBound(iArray) + 1 To lLoop1
If iArray(lLoop2 - 1) > iArray(lLoop2) Then
lTemp = iArray(lLoop2 - 1)
iArray(lLoop2 - 1) = iArray(lLoop2)
iArray(lLoop2) = lTemp
End If
Next lLoop2
Next lLoop1
End Sub
------------------------------------
I will never again mention that I was the poster of the One Millionth Lounge Post, nor that it was complete drivel. Dalek Dave
|
|
|
|
|
Your question isn't particularly clear.
An array of numbers gets sorted numerically most easily using Array.Sort() .
The same statement would sort an array of strings alphabetically.
If you want the logical sorting order, like Windows Explorer sorts filenames that may contain digits, then the easiest way is to rely on function StrCmpLogicalW in shlwapi.dll
This is the prototype in C#:
[DllImport("shlwapi.dll", CharSet=CharSet.Unicode, ExactSpelling=true)]
private static extern int StrCmpLogicalW(string s1, string s2);
and either this article[^] or this site[^] may help you in getting the VB.NET equivslent.
Finally, this article[^] tells you more about custom sorting.
|
|
|
|
|
VB and C# are largely interchangeable; if you have the code in C#, it is very easy to translate it. If you are unsure, there are a number of web-based tools that can do this for you: I use this tool[^] at Developer Fusion from time to time.
|
|
|
|
|
I am working on USB Security software and i need my application to start when usb is inserted to pc "AUTORUN" something like usb viruses works i tried all ways to do that but somewhere it works somewhere it doesnt! Can annyone help?
And i have some sample inf code from one virus!
[autorun
"sAÄËÔ×ŃŔĘôŔŃŽË×ëôĘŽŚŠ×l??Dsla??DFAKFP?WQlf?WQKF?WQklWQ?kâëŕÝÖÄÉĆŕäöéÝâäÔÝâäÇÝÖÉÂÄÝĆÔŰÄÝĆÂŰÄÁÝĆÄôűÝÄŮéÇÖÄÝŔÄöéýäÝŰÂÄÝôöäÂÝÖÄÉÂÝĆŢÁÂÝÖÉĆÄâÖÉÝÂÄÝÖÂÄĆţÔŰÝĆäŕÝÉÖÝâäÝÖÉäâÝÖÉÄÂÝĆÄŢÔŰÝÂÄÝÖÉÂÄŢÝÖĆÉÂÄýćôűţäâÝÉÄÝÇŐÖéÂÄĆÝÖÄÂÝĆôäÂÝÇÄÉÂÄÖÝÉÂÄĆÖÉÝÂÄÖÉÂÇĆÄÖÉÇÂÝĆö
open=SEVEBOMBA/gasgas.exe
action=Open folder to view files using Windows Explorer
icon=SEVEBOMBA/gasgas.exe
Shell\open\command=SEVEBOMBA/gasgas.exe
shell\open\command=SEVEBOMBA/gasgas.exe
USEAUTOPLAY=1
if i use this one buth with my parameters (Shell\open\command=USBMan.exe) etc... it doesnt work on all pc's... but if i dont use my parameters it works annywhere!
Virus info:
- SEVEBOMBA name of recycler
- gasgas.exe hidden file folder icon
Can annyone explain those Qlf?WQKF?WQklW?? what's behind? what goes after [autorun _____ And how can i put my app in recycler with recycler name (USBMan)!?!?
BTW: I am not making virus, i am making usb security app...
Thanks!
|
|
|
|
|
Member 4705584 wrote: Can annyone explain those Qlf?WQKF?WQklW??
It's meaningless garbage.
If autoplay is turned off on a machine, your code won't launch at all since AUTORUN.INF isn't processed.
If your app was written in VB.NET, your code will not launch unless the target machine has the appropriate .NET Framework already installed.
|
|
|
|
|
Dave Kreskowiak wrote: If your app was written in VB.NET, your code will not launch unless the target machine has the appropriate .NET Framework already installed.
yes i know it wont lunch without framework...
- i have no problem with that...
Dave Kreskowiak wrote: It's meaningless garbage.
ok!
Dave Kreskowiak wrote: If autoplay is turned off on a machine, your code won't launch at all since AUTORUN.INF isn't processed.
is there anny other way?
|
|
|
|
|
FeRtoll wrote: is there anny other way?
Nope.
|
|
|
|
|
damn
and wtf? my post is still on first page??? people got smarter or noone is programming annymore?
|
|
|
|
|
Neither. All programming was outsourced to people who don't know what the Intenet is.
|
|
|
|
|
thats good! i like to share what i know and learn other people.
|
|
|
|
|
Member 4705584 wrote: BTW: I am not making virus, i am making usb security app...
I call bullshit.
|
|
|
|
|
what did you mean by that?
|
|
|
|
|
Member 4705584 wrote: I am not making virus, i am making usb security app..
Then why are you trying to create a specific type of virus, as opposed to a service which recognizes suspicious behaviour and that can scan a file for binary blobs that match known virusses from your database?
There's enough information on the AutoRun.inf file on the internet, so it would be redundant to copy that here. Aw, and AutoRun the first feature I disable on every PC that meets me
I are Troll
|
|
|
|
|
Eddy Vluggen wrote: Then why are you trying to create a specific type of virus
i am not making virus!
Eddy Vluggen wrote: as opposed to a service which recognizes suspicious behaviour and that can scan a file for binary blobs that match known virusses from your database?
you not even close...
Eddy Vluggen wrote: There's enough information on the AutoRun.inf file on the internet, so it would be redundant to copy that here.
yes i know its much info!
Eddy Vluggen wrote: Aw, and AutoRun the first feature I disable on every PC that meets me Smile
to me is seccond i first disable system restore! do you?
|
|
|
|
|
FeRtoll wrote: i am not making virus!
If you sneak around the castle at night, whatever your intentions be, chances are that you get shot by the guard.
FeRtoll wrote: yes i know its much info!
The "AutoRun.inf" file doesn't have that many options. It's entries are documented here[^], and creating one is documented here[^].
FeRtoll wrote: to me is seccond i first disable system restore! do you?
No, I kinda like having the ability to roll back to a previous working configuration.
FeRtoll wrote: you not even close..
Wouldn't be the first question that I misunderstood, and won't be my last; but can you explain in more detail what you are trying to achieve then?
I are Troll
|
|
|
|
|
FeRtoll wrote: to me is seccond i first disable system restore! do you?
System Resotre isn't a security rick, so no. I leave that running just in case the users screw up their machine. SR at least has a chance to recover. I'm not saying that it works every time, but it's at least a tool I can use on a users machine to try and recover it.
|
|
|
|
|
Dave Kreskowiak wrote: System Resotre isn't a security rick
it is... exsample with my "virus" i created if you have system restore enabled you would be infected forever and you would newer know you are infected... btw. i made that "virus" for special uses not to keylog, spy, or harm someone... just to know!
Dave Kreskowiak wrote: I leave that running just in case the users screw up their machine. SR at least has a chance to recover. I'm not saying that it works every time, but it's at least a tool I can use on a users machine to try and recover it.
i use other tools, windows cd and repair, ghost image, etc...
|
|
|
|
|
FeRtoll wrote: it is... exsample with my "virus" i created if you have system restore enabled you would be infected forever
Not in my environment.
FeRtoll wrote: i use other tools, windows cd and repair, ghost image, etc...
Sometime, reimaging the entire machine is not an acceptable solution.
|
|
|
|
|
Dave Kreskowiak wrote: Not in my environment.
you mean on other operating system or you tink you would catch it (find it)?
Dave Kreskowiak wrote: Sometime, reimaging the entire machine is not an acceptable solution.
Of course not... Nevermind but system restore isnt secured.
OH and Dave I know you are long time here on forum so please if you can help and connect my 2 accounts this one and the root post user "Member...", i sent mail to this forum but still nothing it happent when i changed my e-mail 2 years ago, i didnt registered twice i just changed mail and it switched me to different account! Actualy i just want this account to have my fertoll@post.t-com.hr address not the old one i have now... if u can do something.
Thanks
|
|
|
|
|
FeRtoll wrote: you mean on other operating system or you tink you would catch it (find it)?
Both
FeRtoll wrote: Nevermind but system restore isnt secured
I didn't say it was.
FeRtoll wrote: OH and Dave I know you are long time here on forum so please if you can help and connect my 2 accounts this one and the root post user "Member...", i sent mail to this forum but still nothing it happent when i changed my e-mail 2 years ago, i didnt registered twice i just changed mail and it switched me to different account! Actualy i just want this account to have my fertoll@post.t-com.hr address not the old one i have now... if u can do something
I'm not an admin on CP. Send a note to webmaster@codeproject.com or post it in the Site Bugs/Suggests forum.
|
|
|
|
|
FeRtoll wrote: it is... exsample with my "virus" i created if you have system restore enabled you would be infected forever and you would newer know you are infected...
Most virusscanners wouldn't recognize your "virus" because they don't have a signature to recognize. Once it has been caught in the wild and analyzed the scanner will pick it up (based on actions, signatures, file-hashes) without much ado. We could ask someone from Symantec or MacAfee to verify it using your code, if you desire?
I are Troll
|
|
|
|
|
Eddy Vluggen wrote: Most virusscanners wouldn't recognize your "virus" because they don't have a signature to recognize.
offcourse...
<blockquote class="FQ"><div class="FQA">Eddy Vluggen wrote:</div>Once it has been caught in the wild and analyzed the scanner will pick it up (based on actions, signatures, file-hashes) without much ado</blockquote>
not correct in every detail, lets say this way it is organic it changes/modifies all actions,hashes, sizes, places, aaaahhh much of that
Eddy Vluggen wrote: We could ask someone from Symantec or MacAfee to verify it using your code, if you desire? Smile
nonono i leave my sources private! that way i have more freedom.
|
|
|
|
|
First let me describe what my program does:
I created a data entry program and a user manually enters data on that is supplied from the screen on an instrument we use. The instrument needs to be calibrated at the start of a job, at the end, and every four hours. I would like to have the program display a message before the four hour mark so that the user remembers to do the calibrations.
The way I have the program now is that when the app is started a new thread is created (CalMonitor ) that basically counts the time. What I need to do is be able to send data to the CalMonitor thread when the user enters the calibrations to reset the timing. How would I go about pass data to a currently running thread?
Thanks in advanced
|
|
|
|
|
Hi,
the easiest way for a WinForms app to get something done in the future is by launching a timer; in particular a System.Windows.Forms.Timer as it will cause a Tick event which executes on the main thread, so you can easily share your data and your GUI Controls with it.
|
|
|
|
|
Hopefully, you created a new class for the CalMonitor. That CalMonitor class should have a couple of things. One, an event that can fire when you want to send the re-calibrate message. The second is a variable that holds a time that it was last reset. The third is a sub that checks if it was reset recently enough, then if it wasn't, raises the event, and if it was, sleeps until the next re-calibration needs to be done.
Here's an example class that I just wrote up and tested:
Public Class CalMonitor
Private _lastReset As DateTime
Private Const SecondsBetweenCalibrationsAllowed As Integer = 30
Private _abort As Boolean
Public Event TimeToCalibrate()
Public Event ResetSuccessful()
Public Sub New()
_lastReset = DateTime.Now
_abort = False
End Sub
Public Sub StartMonitor()
While Not _abort
Dim timeSinceLastReset As TimeSpan = DateTime.Now.Subtract(_lastReset)
If timeSinceLastReset.TotalSeconds > SecondsBetweenCalibrationsAllowed Then
RaiseEvent TimeToCalibrate()
Threading.Thread.Sleep(5000)
Else
If ((SecondsBetweenCalibrationsAllowed - _
timeSinceLastReset.TotalSeconds) * 100) < 5000 Then
Threading.Thread.Sleep((SecondsBetweenCalibrationsAllowed - _
timeSinceLastReset.TotalSeconds) * 100)
Else
Threading.Thread.Sleep(5000)
End If
End If
End While
End Sub
Public Sub CalibrationReset()
_lastReset = DateTime.Now
RaiseEvent ResetSuccessful()
End Sub
Public Sub StopMonitor()
_abort = True
End Sub
End Class
Then, the form looks like:
Public Class Form1
Private myCalMonitor As CalMonitor
Private calMonitorThread As Threading.Thread
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles MyBase.Load
myCalMonitor = New CalMonitor
AddHandler myCalMonitor.TimeToCalibrate, AddressOf CalMonitor_TimeToReset
calMonitorThread = New Threading.Thread(AddressOf myCalMonitor.StartMonitor)
calMonitorThread.Start()
End Sub
Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
myCalMonitor.StopMonitor()
Me.Hide()
calMonitorThread.Join()
End Sub
Private Sub CalMonitor_TimeToReset()
MessageBox.Show("Time to reset calibration")
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles Button1.Click
myCalMonitor.CalibrationReset()
End Sub
End Class
modified on Thursday, April 8, 2010 7:00 PM
|
|
|
|