|
I don't know what I did wrong on the first place but it has automagically fixed itself now
Derek Lakin.
I wish I was what I thought I was when I wished I was what I am.
Salamander Software Ltd.
|
|
|
|
|
I have an excel spreadsheet consisting of three columns
Column A is an account number, B and C a numerical value in each. I would like to place a flag in column D if there are repeats of the same numbers eg duplicates in column A.
I have been tying the following but it wont work. Does anyone have any ideas please?
=IF(COUNTIF(Range1,A2)>1,"Duplicate","")
In cell C1 is the title Range1. Cells A2 through C4000 are the named range Range 1
I have tried a couple of bits and pieces to do a very simple flag but cant seem to get them to work. The first was the one above, and another is this one:
=SUM(IF(A1:A2000=A1,1,0))
The idea being if any of the cells from a1 to a2000 is a duplicate of a1 then it gets an integer in the column I write the formula to. I had hoped if I copied it to each cell then it would look through the whole list. Not so though as I just get a long list of 1's rather than 1's and 0's.
If anyone does know of a way to id duplicates in this way I would be mst appreciative.
|
|
|
|
|
I ran into the following problem while working with SaveFileDialog.
When saving a file, and existing file is selected, the common dialog box always returns DialogResult.Cancel.
Is there a workaround?
Dim SaveDlg As New SaveFileDialog()
Dim RetCode As DialogResult
RetCode = SaveDlg.ShowDialog()
' .NET bug????
' When replacing existing file,
' Always returns DialogResult.Cancel
If (RetCode = DialogResult.Cancel) Then
...
End If
|
|
|
|
|
does capicom requiere admin rights to run?. I build a small app to encrypt/decrypt strings and run fine under my win2k account (i'm a local admin). I created a user account with defualt permissions and the compiled app fail with a error message like "Permission denied". ¿any way to avoid this without giving the user admin right?. Thanks for reading...
Reality.sys is corrupted!
Reboot the universe Y/N?
|
|
|
|
|
Does anybody know a way of accessing the internet options through a vb command where I can set certain parameters to display certain things from explorer.???(ie: not display some type of content) I know in C, there is the "BOOL InternetSetOption()" function that you can do this with but i really need to know how to do this in vb. Any help or hints to do this would help me out a great deal. Thanks very much!
What we do in life echos in eternity!
|
|
|
|
|
Use API Calls
Here is an example
Const INTERNET_OPTION_END_BROWSER_SESSION = 42
Private Declare Function InternetSetOption Lib "wininet.dll" Alias
"InternetSetOptionA" _
(ByVal hInternet As Long, ByVal lOption As Long, ByRef sBuffer As
Any, ByVal lBufferLength As Long) As Integer
Public Function flushCredentials() As Integer
Dim h As Integer
h = InternetSetOption(0, INTERNET_OPTION_END_BROWSER_SESSION,
0, 0)
flushCredentials = h
End Function
It is Illogical to define an inventor by his invention
|
|
|
|
|
An app (VB) that we have had running for a few years now has been working fine on American and European versions of Windows. Now someone has tried to run it on Chinese Windows, and it's not working. I have traced it down to one specific thing, as follows:
The code builds up Modbus communications messages one byte at a time using VB's Chr$() function, like this:
strMessage = Chr$(1) & Chr$(3) & Chr$(0) & Chr$(48) ... etc.
Now, as we all know an unsigned byte can be from 0 - 255. Also, in a single byte character system, ASCII characters also go from 0 to 255. Thus, it is quite natural to want to add such bytes beyond 127, which would be negative values _if_treated_as_signed_bytes_:
strMessage = strMessage & Chr$(245) & Chr$(136)
Now, on most systems this works just dandy. But I have discovered that whenever we try to add a byte (character) > 127 under Chinese Windows, it instead ends up with 0 there - it doesn't seem to get it right.
All suspicions point to MBCS (multi-byte character set) issues, but I was under the impression that VB handles this automatically.
Can anyone suggest how I might successfully add bytes > 127 to a VB string, using VB methods? When I get totally desperate I can call to a C++ DLL to do it, but there's a fair bit of work rewriting the VB code for that so it's a very last resort!
--
Jason Teagle
jason@teagster.co.uk
-----------------------------------------------------------
A list of programming resources I use:
ML: www.windev.org, www.codecipher.com, www.beginthread.com
MB: www.codeguru.com, www.codeproject.com
NG: comp.lang.java.*
OI: www.php.net
-----------------------------------------------------------
|
|
|
|
|
Note: the answer was provided somewhere else - use ChrB$() instead of Chr$() - I didn't know this existed
|
|
|
|
|
Do you know how should i create a safearray in VB?
rechi
|
|
|
|
|
Dim vx As Variant
Dim v(2) As String
v(0) = "First Argument"
v(1) = "First Argument"
vx = v
It is Illogical to define an inventor by his invention
|
|
|
|
|
Hello,
I need my project to expire after 30 days of use. How can I do this?
If you dont have the code just tell me the process to make it a trial one then I'll research a little more.
Thanks in advance
adol
|
|
|
|
|
Would your app. connect to the internet?
Cheers,
Simon
"Every good work of software starts by scratching a developer's personal itch.", Eric S. Raymond
|
|
|
|
|
My app would not connect to the internet.
adol
|
|
|
|
|
There are several ways to do this, however one of the simpilest ways is to store a value in the registry (i.e. - installation date) and then when the application loads everytime you can grabb that value from the registry and check using DateDiff to see if time has expired. There is a lot of code out there explaining how to use the registry in your application so I won't go into the details, but again this is just a suggestion.
HTH
Nick Parker
|
|
|
|
|
Thank you very much for your help Nick!!!
Maybe this is the easiest way to do it.
Somebody told me I can use the Hard Disk serial number or something like that to control the use of an app, does anybody knows what he was talking about?
Best regards,
adol
|
|
|
|
|
I would strongly reccomend encrypting or hiding the date if it is in the registry even if you only do somthing simple like XORing the value. Otherwise, it's realy easy to modify the registry entry to make the program work forever. If you need more explanation, just reply.
|
|
|
|
|
I was only giving an example of a method to limit application life, there are of course other ways (i.e. - including encryption) that are better.
Nick Parker
|
|
|
|
|
This question is really a question of why not how.
I was playing around with an application that would hide and display the cursor with the Win API ShowCursor . I was calling this function in the load event of the application and it was not working. I had a timer on the form and decided to call the ShowCursor function there. Even though this is repetative it works. Does anyone have any ideas what would cause this?
Nick Parker
|
|
|
|
|
Because its param isn't a boolean to just toggle the cursor on and off.
From MSDN about the param...
Specifies whether the internal display counter is to be incremented or decremented. If bShow is TRUE, the display count is incremented by one. If bShow is FALSE, the display count is decremented by one.
So, ShowCursor False isn't guaranteed to hide the cursor. If another application passed it True a couple of times it won't hide it. If the internal counter is 0 or greater the cursor will remain visible and it hides if it's -1, so check the return value of ShowCursor() and keep on calling it until the counter is -1.
That's why the timer method worked. It ensured the internal counter was -1 by calling it over and over again. The thing is though, once it's hidden you can stop calling ShowCursor() to avoid wasting CPU cycles.
Jeremy L. Falcon<nobr>
Homepage : Sonork = 100.16311
"It was a blind man who taught me how to see." - Aerosmith
|
|
|
|
|
Thanks for the response Jeremy, I figured that out about 30 minutes later during lunch . This was just something that I was playing around with so no worries.
Nick Parker
|
|
|
|
|
Nick Parker wrote:
I figured that out about 30 minutes later during lunch
Funny ain't it? It's usually the same way with me. When I get away from the computer is when the solution just pops in my head. Oh well, at least it gave me an excuse to visit the VB forum again.
Jeremy L. Falcon<nobr>
Homepage : Sonork = 100.16311
"It was a blind man who taught me how to see." - Aerosmith
|
|
|
|
|
Same here, I had been hanging my head in the C# forum for quite a while.
Nick Parker
|
|
|
|
|
My Word macro has grown HUGE, so I want to convert it to some C or C++ console application, or whathever, so that It can run i Background.
Is possible to make an exe out of a Macro, convert the VBA and make and compile it, etc.
This macro simply makes some standard modifies to a TEXT file.
The problem is that the Macro language i think VBA, has some advanced funcions to move the cursor in the text.
Like Selection.
.MoveDown Unit:=wdLine, Count:=1, Extend:=wdExtend
.HomeKey
.TypeText Text:=hello
.TypeParagraph
.TypeBackspace
.Delete Unit:=wdCharacter, Count:=3
"Nelle cose del mondo non e' il sapere ma il volere che puo'."
|
|
|
|
|
Ofcourse, you can cut and paste the code in a VB module and compilet it. Of course you may need to add the appropriate reference and also make some small corrections.
|
|
|
|
|
I dont know much about VB.
My code is something like:
Selection.MoveUp Unit:=wdLine, Count:=1
Selection.HomeKey Unit:=wdLine
Selection.MoveRight Unit:=wdCharacter, Count:=87
Selection.Delete Unit:=wdCharacter, Count:=6
Selection.PasteAndFormat (wdPasteDefault)
Selection.TypeBackspace
Selection.TypeBackspace
Selection.TypeBackspace
Selection.MoveLeft Unit:=wdWord, Count:=1
Selection.TypeBackspace
Selection.MoveRight Unit:=wdWord, Count:=8
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.PasteAndFormat (wdPasteDefault)
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.MoveLeft Unit:=wdCharacter, Count:=2
Selection.MoveLeft Unit:=wdWord, Count:=2, Extend:=wdExtend
Selection.TypeText Text:="="
And I copied it into the sub main of module one in a new Visual Basic Console application.
But everithing don't work.
Selection wdCharacter,wdExtend, wdLine, is undeclared, etc etc etc
HELP PLEASE!
"Nelle cose del mondo non e' il sapere ma il volere che puo'."
|
|
|
|