« first day (1279 days earlier)      last day (44 days later) » 

12:14 AM
@Hosch250 FWIW, coming from VBA, it's no problem to stick in a &H80000000 (and higher) into a Long data type. They simply get interpreted as a negative number.
i've come to think of hex as not saying anything in regards to the sign bit.
@this Sure you can.
Or just use a -.
at least it's obvious that we're invoking the black voodoo conversion.
VBA won't tell you about it.
it's all `look, ma, no casts!'
Yup. That's why I'm glad C# actually throws a compile-time error.
still, I thought it odd that hex had to be "cast" - it's just a representation of binary
It's a representation of positive binary.
You can do -0x0000 if you want.
And since I'd have to say that most devs don't understand 1s complement or 2s complement (which is what most systems use), that's very good.
12:29 AM
IDK if I agree - I don't see binary as necessary numeric. Binary is just ... anything. Could be ASCII. Could be Unicode. Could be executable code. Thus to say it's signed is kind of strange and implies you're using it like a number. Doesn't have to be, IMPOV.
In C#, it is just a number.
That's the only thing hex code is allowed to be.
Same for binary--and that's really new to the language.
I see. It is more safer that way. I would imagine that'd trip up a C++ developer who says what it is and it is because he sez so.
Probably. I've not done C++ at that level.
I've done some basic pointer stuff, but it's all encapsulated, and I never see the actual pointer value unless I print it for some reason.
I don't do much C++ but when I understood that years ago, it was one of my big ah-a moment in how computers work in general and why we have those weird "buffer overflow" or whatever.
So many programming projects to do, and so little time :(
12:33 AM
story of my life. Story of your life. Story of every programmers. :\
I'm at the point where I think about doing programming all the time because I'm not learning a whole lot at work anymore, but I don't have the energy to actually do any.
I'd like to do a Monopoly game, and I'd like to do more work on VSD.
And I'd like to finish my checkers/draughts game, and I'd like to do a chess game.
And I'd like to write something in assembly.
And C++ with pointers.
And I'd like to give RD's website a database to remember inspections.
I think we should do an inspection for indentation.
If the indented text is off by a certain percentage of the characters in the module, or something.
I think 25-33% would be good, although we could even make that customizable.
You get used to having no energy Hosch.
@IvenBach Do you get used to having no mental energy and so much physical energy it's hard to sleep?
Your physical energy levels drop to your mental energy levels.
Not mine.
Maybe they will after enough atrophying, I guess.
12:42 AM
Give it time.
that's why I do frequent walks during days
I should do a 1.5 mile walk at lunch.
I certainly stay late enough anyway, to avoid traffic.
yes this would help and give your brain some downtime to digest, as well
Used to do one of those every day, plus 100 miles of bike rides during the summer.
many time i got my a-ha moments mid-walk
have you competed?
12:44 AM
I can't run without getting sick to my stomach.
Walking and biking, I'm fine, but running makes me almost throw up. I have no idea why.
Unless I bike too hard too soon after lunch. That makes me sick too :P
I've diagnosed the cause. The cause is you're allergic to overexertion. :P
That's certainly not the cause. I like to walk/bike until I can barely stand :)
Give me a 4 mile walk, a 1 hour rest, and a 20 miles bike ride, and I'll be very happy.
Between 1:30 and 5:30 PM.
Most people are allergic to exercise. Their heart rate increases and they start to sweat. Prolonged periods of it have been know to cause rapid weight loss.
12:50 AM
So, I worked form home today because the roads were a skating rink.
My coworkers who went in said I was smart.
I love this company :)
Sounds like a good company to work for.
I'm stumped on how to make buttons work by implementing ICommand.
1:07 AM
@IvenBach which part are you stuck on?
In order for me to proceed I'm going to have to implement the button via click events.
Everything about Command.
Did you not look at how RD does it?
Take a simple one, e.g. the about box
I get that it's a way to not use events but can't understand it.
I haven't looked at how RD does it.
I'm going off of the example Hosch helped set up for me. IIRC it's the same way RD is set up though.
A command is a simple WPF interface that exposes two methods
one that returns true if the command is enabled / can be executed
another that does the thing
Your xaml button needs a command binding
CanExecute, Execute, CanExecuteChanged need to be implemented.
1:10 AM
never heard of CanExecuteChanged
so.. Implement the interface... return true in CanExecute and say hello with a messagebox in Execute
the CommandBinding works like any other binding: off the DataContext, i.e. the ViewModel
so you expose a property for that command
and the VM sets it to an instance of your command implementation in its ctor
and done
@Mat'sMug just so I know, this is an example of a weak event referencing?
@this WPF and command bindings?
TBH I'm not sure what weak event referencing would be
me neither, saw it in passing but didn't research, and that was my from the hip guess of what it would be
@Mat'sMug I think it's the wiring that I haven't done.
1:18 AM
It's been a couple weeks since I was able to be working on WPF. I'll try tomorrow.
There's plenty of magic when you don't know how to do it correctly.
Home Time.
1 hour later…
3:26 AM
parses a default UserForm with 0 controls, reads to end of stream, sighs
this is more work than I expected
3:45 AM
At least you have a stream, @ThunderFrame.
@ThunderFrame just to make sure you don't get lost in the sticks --- is this something that must be 100% completed just to deliver? Can't you deliver what you can parse and enhance? The bug reports that comes may in fact help your effort, maybe? Just ideas.
@this unfortunately, the way the binary is written, you need to understand all the things....
tbh - I think (hope) the forms might be the hardest part, the controls will hopefully be less work, alothough there are a few built-in ones to deal with
@this IKR -AvalonEdit is going to show yellow and green for changed modules!
Bummer. I figured the binary would have something like pages or alignment so you can consistently predict where to edit and where to not edit.
nope - lots of optional structures and arrays of structures of varying length.
if it's all that packed, I'd think there'd be a header that tells how big and what is in it.
4:03 AM
I expect it was designed by the "Access conformance with Office standards team"
2 hours later…
6:09 AM
Or maybe it was the "Word standards or GTFO team".
3 hours later…
8:53 AM
> First: good job for all who participate on this project!

Is it possible somehow centrally change font size of all RD controls? Could it be part of settings?
I would prefer 10px (i.e. similar to VBA editor)...

> FWIW we should respect the font-size coming from OS customizations. As such we shouldn't expose that setting directly as a Rubberduck setting, but instead grab that information from our host app (or even the OS)
> FWIW we should respect the font-size coming from OS customizations. As such we shouldn't expose that setting directly as a Rubberduck setting, but instead grab that information from our host app (or even the OS)

See also #3585
9:18 AM
> And grabbing that information from host app (VBA editor) is already implemented? Is it OK, that my VBA (Excel) editor appears with all controls in 10px, but Rubberduck controls are 12px height at the same time?
9:36 AM
Hi guys - what do you think about the new StackOverflow style - meta.stackexchange.com/questions/304055/…
Is it only me that
it looks a bit strange?
2 hours later…
11:08 AM
Q: VBA UI design architecture, how to make this a piece of art

Nelson VidesI have this very recurrent pattern at my VBA macros, where I have to ask the user to give me certain information that will be necessary for the processes to come. Most often for example, I need him to give me some workbooks and maybe a date. So I often declare a Type whose elements are all the w...

11:54 AM
Q: Select case multiple conditions string and long

user1How can i improve the following working code? I would like to be able to join the "Select Case True" with the normal "Select Case" conditions With w.Sheets("test") For i = n To 10 Step -1 Select Case .Cells(i, 1) Case 1,2,3,4 .Cells(i, 1).EntireRow.Delet...

12:35 PM
> From the user perspective, I see more value in a blocking dialog preventing me from losing work, than I do a blocking dialog that may interrupt my workflow (for my own protection).

It is far more costly, as a user, to have ‘mysterious’ behavior and to have to retrace my steps to figure out what happened, than it is to dismiss a dialog because I didn’t know to ‘Refresh’ first.

Ideally, in lieu of a blocking dialog a reparse would occur before displaying the option that the user asked for.
> Asynchronous/ non-blocking parse cannot guarantee that there aren't any code changes made; parsing before the dialog is shown but without blocking the editor / UI thread wouldn't ensure we're working with the most up-to-date code.

Also the canexecute logic for all commands needs to change to a default `return true` if every command will trigger a blocking parse.
> What about an option within the RD menu that allows the user to disable the blocking dialog if they so choose? That would allow for regular users to get the blocking message reminding them to re-parse before using commands, but a power user to disable the warning since they will be aware of the risks. From a UX standpoint it would be a compromise that prevents a regression, but adds additional protection for users who want/need it.

[Description: Description: Southern New Hampshire Unive
1:03 PM
> I would like to propose a somewhat different approach. We could display a dialog before trying to execute a refactoring command indicating that a reparse is required, provided the loaded projects are dirty at that point. We could also put a _reparse now_ button on the dialog.

One reason why I prefer this to an automatic parse is that, in the eyes of RD, the user might have selected something to refactor that is entirly different from what he intended; the selection that RD sees correspond
> I agree with this approach, this would present the user with what they need to avoid code loss, explain what is happening, and also prevent any accidental reparsing.

[Description: Description: Southern New Hampshire University]<https://my.snhu.edu/>

[Description: Description: facebook]<http://www.facebook.com/OfficialSNHU> [Description: Description: Twitter] <http://twitter.com/snhu> [Description: Description: Linkedin] <http://www.linkedin.com/groups?mostPopular=&gid=3688403>
1:55 PM
@Duga FWIW that would be a good opportunity to refactor the creation logic of MVP/MVVM for all other dialogs, as well. I think that dialogs only really need one presenter and maybe only one dialog if the elementhost can be altered runtime.
3 hours later…
4:45 PM
@rubberduckvba I can't get enough of your SO and CR answers/comments - I go to your profile and filter to recent activity and study them, lol
@Mat'sMug share that with them, too! That's a great endorsement to have. :)
5:42 PM
Q: Select case multiple conditions string and long

user1How can i improve the following working code? I would like to be able to join the "Select Case True" with the normal "Select Case" conditions With w.Sheets("test") For i = n To 10 Step -1 Select Case .Cells(i, 1) Case 10111,23232,98076,41324 .Cells(i, 1)...

This question might deserve one of you VBA-pros
5:57 PM
@Mat'sMug creepyStalkerCount++
@IvenBach Error: expected ';'
2 hours later…
7:34 PM
@IvenBach The proper response would be it was an expression, not a statement.
Is that an attempt at humor? I get expression and statement confused all the time.
Not really.
Didn't think so.
So, talking about ++, what does this print?
int i = 0;
while (i < 10)
Bonus points if you know without running it.
isnt foo++ post-increment? I'm saying 0 through 9.
7:38 PM
Pretty sure it's 1-10.
int i = 0;
while (i < 10)
That would be 0-9, I think.
I'd have to double check. You're muddling me :)
You won :)
I was wrong, lol.
Nice job. Now you get to tell me to re-read the operators.
I know very little. But that which I do know I'm confident of.
I remember ++foo increments before because it comes before the variable. While foo++ increments after because it comes after.
So, that's why you never use those in an expression like that.
I have to keep it simple so I don't confuse myself.
Because someone will not know the distinction.
^ That usually is me.
Either way I'm struggling with Hangman.
7:42 PM
I mean, if you are code-golfing, sure, because that is throw-away code.
I want maintainable and understandable code first.
I know, you jumped right to studying more advanced problems, like WPF, before you actually worked through writing simple code.
Just following instructions.
I've been telling you to write more code :)
Also, you are beginning to learn design. That's a big thing in itself.
I'm writing trying to write the hangman code.
7:44 PM
Things like MVVM, MVC, etc.
I got the XAML part done.
Oh wow, you are doing it in WPF?
Nice job. I mean a console app.
Again, my struggle with words is real.
Eh, I think I didn't specify that.
So, go ahead and finish. You'll learn a lot.
But feel free to write console apps too.
I don't know if I'll be able to get past my current hurdle.
7:46 PM
We'll do logo turtles and solve 8-queens and lots of other problems.
@IvenBach What's that?
I can get a messagebox to show when a button is pushed via Command but I don't know how to save information when a button is pushed. It's likely because I'm doing it incorrectly.
You can write it to a VM property.
Or store it in your model somewhere.
Is your code on GitHub?
Do you know how to post code on GitHub?
As a Gist?
No, as a repo.
As a push request. Not manually. I don't have GH set up on my work computer.
7:49 PM
Do you have admin privs on it?
OK, I'll help you set up later.
Basically, you need to install git tools for VS (I forget how--I think it's during the VS setup).
Then, create a Git repo, then create an empty repo on GitHub and push it to that repo.
I'll keep trying to figure the Command and how to have it save information.
Show me your command.
And the property being exposed to the XAML.
But really, if you push this whole thing to GitHub, I could see everything you have.
8:04 PM
namespace WPFHangmanApp //HangmanModel.cs
    class HangmanModel //: INotifyPropertyChanged
        public HangmanModel()
            DisplayPhraseCommand = new DelegateCommand(DisplayPhrase);
            SavePhraseCommand = new SavePhraseCommand(SavePhrase(PhraseToGuess));

        public List<char> MissedCharacters { get; private set; }
        public string PhraseToGuess { get; set; } = "DEFAULT PHRASE";

        public bool IsCharacterInPhrase(char character)
I see.
<Button Height="25" Content="Save phrase to guess" Margin="5" Command="{Binding SavePhraseCommand}"/> is how the SavePhrase is being called in XAML.
Today I got my first buffer overflow using VBA. Well, win32 API.... but still. Not sure if I should be proud or not. :\
I just mean the VM and the command implementations.
So, you need to go like this:
Don't know what I'm spouting.
In SavePhrase(object), assign the value to a private field :)
Or a public property, if your VM needs it.
So, you can do _guess = (string) value;, or something.
Trying to change the signature is causing another part to error out. I don't understand everything well enough to be using it.
8:11 PM
You can't change the signature.
You can change the body, though.
The Execute method is being called. I don't see how to save it the way I have it set up.
private string _guessedPhrase;
private string SavePhrase(object value)
    _guessedPhrase = (string) value;
I got it to work following that. Had to make the change of private void SavePhrase(object value) since nothing was being returned.
Sorry, tired.
When I click the button that causes the command to be run the Execute method is called. That's the part I haven't implemented and don't know how, yet.
My higher brain functions have been missing this last week. It's not from your lack of explanation, but my comprehension.
8:17 PM
Remember, Execute is just SavePhrase.
And SavePhrase can see anything in the VM.
There's several disconnects I'm having. The extra abstractions are throwing me off.
It's partly me.
Grabbing some lunch. Before I leave today I'll bring what clump-of-ugliness I have and upload to GH.
8:54 PM
@IvenBach look at some of the simple commands in RD. The About dialog is braindead simple =)
Taking a look. Braindead simple is just my style.
9:30 PM
:HangHeadInShame: I remembered not the CommandParameter...
'I don't understand everything well enough to be using it.' That should be my motto for everything.
I don't like that one.
I like Theodore Roosevelt's motto "Say you can do it, then quick learn how."
Food makes a difference in being able to think properly.
Many things do.
Sleep, headaches, viruses, to name a few :(
9:34 PM
Now to remember how to used a named UI element control.
Usually, you don't need names.
10:10 PM
I'm stuck in circles. Can't figure out how to save an input on the View to a property on the VM
Welcome @AlexC
@Hosch250 bite off more than you can chew, then chew hard...
@ThunderFrame Yup.
And don't choke.
@Hosch250 if you choke, don't let anyone see...
10:26 PM
GTG. Work party.
10:51 PM
> That is because I didn't express what I meant fully.... That functionality is currently **not** implemented. That is why this is labeled [enhancement] and not [bug]. If it were already implemented, but there was a difference between the VBE and Rubberduck, that'd be a bug.

Do note that RD UI is not striving to look like the VBE, quite the opposite. We should respect accessibility and OS-Wide definitions though, and control / font size is one of those...
11:04 PM
@Hosch250 enjoy. for however possible that is :)
@ThunderFrame Doesn't help that ducks can't chew...
@IvenBach counterargument ^^
Ducks don't chew.
Those are likely to help hold onto the food.

« first day (1279 days earlier)      last day (44 days later) »