|
Combat Pretzel posted:Those Telerik guys must have a really hard time to get by. A long while ago, I've downloaded one of their UI component libraries to get a very old project up and running to check out some things. Since then, some sales guy is pestering me with at least one e-mail per week. I bought some Telerik stuff and they're still trying to sell it to me
|
# ? Nov 7, 2016 22:51 |
|
|
# ? Jun 7, 2024 08:57 |
|
"Telerik" is a dirty word for every .NET developer I have met. I've literally never heard anyone say anything positive about their products. The only exposure I've personally had to their products is a lovely WYSIWYG editor in some old version of DNN...
|
# ? Nov 8, 2016 07:41 |
|
I found their UI toolkit quite well-featured back in 2006, well worth the cost. No idea how they have evolved since then, though, or what the competition is like these days.
|
# ? Nov 8, 2016 08:05 |
|
We're feeling the ground in the mobile market right now and we have tasked an intern with building us a demo of their Xamarin Forms and Xamarin Native UI toolkits. They sure look sleek, but we want to figure out how useable and customisable they are.
|
# ? Nov 8, 2016 09:31 |
|
Xik posted:"Telerik" is a dirty word for every .NET developer I have met. I've literally never heard anyone say anything positive about their products. I'm doing a project that's a massively customised version of nopCommerce at the moment. It uses Telerik's Kendo UI controls in its admin area and they are a loving nightmare to work with. Mind you, that's partly because they chose to licence the version of the controls that have to be purely instantiated and configured using Javascript, instead of the version that has a load of nice HTML Helpers for the MVC framework.
|
# ? Nov 8, 2016 10:32 |
|
Xik posted:"Telerik" is a dirty word for every .NET developer I have met. I've literally never heard anyone say anything positive about their products. Well, for one, Fiddler is pretty useful, and their decompiler seems nifty.
|
# ? Nov 8, 2016 14:28 |
|
Some Telerik tools, like the reporting library, can save massive amounts of time for lame CRUD work like outputting PDF reports, but $deity help you if you deviate from simple cases. I used the report engine a few years ago for a handful of relatively simple reports, and it wasn't long before I was downloading their source code* and extending their classes to handle scenarios it wasn't designed for. *It's nice that they provide this option so you aren't totally hosed.
|
# ? Nov 8, 2016 16:04 |
|
Anyone with experience in EF against an Oracle database who might know why a nullable number column coming into a decimal? field might cause an InvalidCastException for some rows? There's one row in particular that causes the crash reliably, where the number is 0.0000006924267etcetc. I can't change it to double? in the model because then the build complains that that's incompatible with Oracle number.
|
# ? Nov 8, 2016 22:18 |
|
Baby Proof posted:Well, for one, Fiddler is pretty useful, and their decompiler seems nifty. Telerik bought Fiddler as a fully functional product and have basically just been maintaining it ever since. And I think their decompiler is based on a fork of .NET Reflector before RedGate bought it out and started charging for it.
|
# ? Nov 8, 2016 23:02 |
|
Ciaphas posted:Anyone with experience in EF against an Oracle database who might know why a nullable number column coming into a decimal? field might cause an InvalidCastException for some rows? There's one row in particular that causes the crash reliably, where the number is 0.0000006924267etcetc. I can't change it to double? in the model because then the build complains that that's incompatible with Oracle number. Now, I have no idea how EF handles this respectively how much it allows overriding its default behavior, but from my experience working with our own DAL you sort of have three ways of dealing with this (assuming you generally don't actually care about keeping maximum possible numerical precision):
|
# ? Nov 8, 2016 23:43 |
|
PSA: ILSpy is just way better than Telerik's JustDecompile and it isn't nagware
|
# ? Nov 9, 2016 00:08 |
|
SirViver posted:How are the number columns on your Oracle DB defined? Unless you limit both scale and precision appropriately, a .NET decimal field won't necessarily be able to hold the value Oracle provides. You can usually easily force such errors by doing something like SELECT 1/3 FROM dual - the Oracle data provider will in such cases (annoyingly, but quite rightfully) throw InvalidCastExceptions (or maybe actually OverflowExceptions, that later get masked by the invalid cast ones - yeah, don't ask, the Oracle Managed Data Provider is a truly amazing piece of engineering ), as the conversion would technically make you lose data, even if in most practical cases you probably don't actually care about that loss. Thanks for the ideas and information. I eventually figured out (just now in fact) that the problem is exactly as you say. Some of those numbers go out to 30 digits after the decimal. Until I'm told otherwise though I have to assume I need to keep all of them. The annoying part is, I'm just turning them into XML output for this application, so if the EF modeler would just let me set the C# parameter type to string instead of decimal I'd be fine. Unfortunately it complains that string isn't compatible with Edm.number when I save the model like that. Maybe I'll just hardcode those values in the application, it's only four rows with super precise values and "never" changes, but that's obviously terrible.
|
# ? Nov 9, 2016 01:32 |
|
Xik posted:"Telerik" is a dirty word for every .NET developer I have met. I've literally never heard anyone say anything positive about their products. I use their stuff for inhouse web apps, both the mvc helpers and pure js stuff in parallel with bootstrap for styling, to help with building more complex data entry forms, eg grids etc - I find it OK, but I guess if anyone who does a heap more javascript day to day than me came across my code they'd likely rip their hair out. It takes a fair bit of work sometimes but maybe I'm working against the product rather than with it. Their help is OK to good, depending the area you're looking for help in, which is better than many of toolsets I've used over the years. That said, I'd rather have it than not, but I'd love to have a decent amount of time to really come up to speed on the more modern js tools/whaever like angular, react js, etc - maybe there's an alternative? It seems a lot of people have equivalent issues with complex ui regardless the tech, so quitting the browser/web-as-ui doesn't seem that attractive to me. If there are other toolsets to use or ways of doing ui, I'd be keen to find out.
|
# ? Nov 9, 2016 05:23 |
|
chippy posted:I'm doing a project that's a massively customised version of nopCommerce at the moment. It uses Telerik's Kendo UI controls in its admin area and they are a loving nightmare to work with. Mind you, that's partly because they chose to licence the version of the controls that have to be purely instantiated and configured using Javascript, instead of the version that has a load of nice HTML Helpers for the MVC framework.
|
# ? Nov 9, 2016 16:35 |
|
Uziel posted:Ugh, I just inherited the support and future development for an app that is entirely built on Kendo UI and not looking forward to this. To be fair, if you take the time to get to know them properly, they're could beok. They are fairly flexible/powerful, it's just the way to do things is often quite unintuitive and the documentation is not the best. I've generally found I've had to do a lot of googling around to find examples of what I need to do. It probably doesn't help that my Javascript is not as strong as my C#, I've never undertaken any in-depth learning and just picked things up piecemeal as I've needed them. A strong JS dev might think they are great for all I know!
|
# ? Nov 9, 2016 16:49 |
|
chippy posted:A strong JS dev might think they are great for all I know! Nah, Typescript + React is the way I go. EDIT: And for charts and stuff, I go with D3 rather than these pre-built solutions. Yeah, more of a pain to use if you've never learned it and it'll probably take longer to get to the end product (something management tends to not want to hear) but the results you'll get are much better IMO. Drastic Actions fucked around with this message at 17:07 on Nov 9, 2016 |
# ? Nov 9, 2016 17:05 |
|
chippy posted:A strong JS dev might think they are great for all I know! Kendo is terrible. The only redeeming feature of their entire kit is that the grid comes with pre-built filter/sort options.
|
# ? Nov 10, 2016 03:35 |
|
Hey guys, I'm taking a course on visual basic 2015 and I'm kind of stumped on this assignment. Right, so I need to use a listbox to display two columns of information entered by two separate input boxes. The idea is that on button will bring up an input box in which to enter one piece of data which will display in the first column and another button will do the same only display in the second column. I need to do this while pulling the displayed data from two separate arrays each on holding one type of data. Also, how do I make it so entering a piece of data after the array is full brings up an error box to the user. Can someone please help me?
|
# ? Nov 10, 2016 21:18 |
|
Mycroft Holmes posted:Hey guys, I'm taking a course on visual basic 2015 and I'm kind of stumped on this assignment. Right, so I need to use a listbox to display two columns of information entered by two separate input boxes. The idea is that on button will bring up an input box in which to enter one piece of data which will display in the first column and another button will do the same only display in the second column. I need to do this while pulling the displayed data from two separate arrays each on holding one type of data. Also, how do I make it so entering a piece of data after the array is full brings up an error box to the user. Can someone please help me? I'd be astonished if this were the very first assignment. What have you come up with your own so far? What else have you done in the course?
|
# ? Nov 10, 2016 22:57 |
|
raminasi posted:I'd be astonished if this were the very first assignment. What have you come up with your own so far? What else have you done in the course? It isn't. This is homework program number 5. We've just gone over arrays. Basically, this is the only stumbling block. If I get this, I can do the rest of the program no sweat, it's just some simple functions.
|
# ? Nov 10, 2016 23:04 |
|
I'm having a hard time getting it from your description. Could you MS Paint your way to what you think the UI should be doing here?
|
# ? Nov 10, 2016 23:22 |
|
Bognar posted:I'm having a hard time getting it from your description. Could you MS Paint your way to what you think the UI should be doing here?
|
# ? Nov 10, 2016 23:36 |
|
So, a list box can't hold more than one column. You can either use two listboxes, one that represents a list of students and one that represents a list of grades, or you can use a DataGridView which would show the data in a table. If you choose to use a DataGridView, then you would need to change your buttons to add a student and a grade at the same time (adding a row to a table adds a cell to all columns at once, so you can't just add a student or add a grade). Given that you've only worked with arrays so far, the easiest thing to do right now would be to use two listboxes. I would argue that this isn't as correct as using a table, but it's probably better for you to put something together that's easy and that works. To work with items in a listbox programmatically, use ListBox.Items. To show a pop-up for an error message in WinForms, you can use MessageBox.Show.
|
# ? Nov 11, 2016 01:18 |
|
Alright, I can't figure out what I'm doing wrong. I'm trying to get the listbox to only display the seven items in the array. It keeps just adding items to the listbox. I can't tell if it's also adding items to the array though. What am I doing wrong?code:
|
# ? Nov 11, 2016 02:19 |
|
Ok, wow, none of my other code is working either. code:
|
# ? Nov 11, 2016 02:43 |
|
The way you've got the code structured right now, you need to clear lstNames at the beginning of btnStudent_Click and clear lstGrades at the beginning of btnGrade_Click. As it is now, you're just continually adding values to the ListBox each time you click the add student/grade buttons.
|
# ? Nov 11, 2016 03:06 |
|
Bognar posted:The way you've got the code structured right now, you need to clear lstNames at the beginning of btnStudent_Click and clear lstGrades at the beginning of btnGrade_Click. As it is now, you're just continually adding values to the ListBox each time you click the add student/grade buttons. nope. That clears the list box of all entries instead of displaying the entire array.
|
# ? Nov 11, 2016 03:10 |
|
I don't use VB too often so I'm not great with the syntax, but I think your for loop should be changed from:Visual Basic .NET code:
Visual Basic .NET code:
|
# ? Nov 11, 2016 03:22 |
|
Bognar posted:I don't use VB too often so I'm not great with the syntax, but I think your for loop should be changed from: That fixed just about everything. Just one last issue. I keep getting an error whenever I try to get the error codes working. When I input grades using code:
Additional information: Conversion from string "f" to type 'Integer' is not valid."
|
# ? Nov 11, 2016 03:47 |
|
You're trying to store a string value into an int array. VB is trying to automatically perform that conversion, but it fails when it's unable to (i.e. when you enter a letter). What you could do is store the value from the InputBox in a temporary variable, check if it is numeric, then assign it to the array if it is.Visual Basic .NET code:
Bognar fucked around with this message at 04:44 on Nov 11, 2016 |
# ? Nov 11, 2016 04:42 |
|
Bognar posted:I don't use VB too often so I'm not great with the syntax, but I think your for loop should be changed from: I always thought C# and VB.NET were different skins on the same model. What the hell is this about? Why does the first one even compile, and what does it actually do?
|
# ? Nov 11, 2016 05:27 |
|
raminasi posted:
First, how does the expression even parse? ... code:
code:
code:
|
# ? Nov 11, 2016 06:18 |
|
raminasi posted:I always thought C# and VB.NET were different skins on the same model. What the hell is this about? Why does the first one even compile, and what does it actually do? From a quick experiment (and not remembering much of VB either, thank god, but which means I might be wrong), it makes sense once I remembered VB's equality operator is just the single = sign. In this case, the for loop runs from "0 to False", which is equivalent to "0 to 0", so it runs once with the initial value. Fun aside: because VB's true is usually equivalent to -1, this loop is skipped entirely: code:
|
# ? Nov 11, 2016 06:26 |
|
And I thought VB was just silly C# with many words! This is fascinating! I would love to hear more about VB.Net!
|
# ? Nov 11, 2016 22:58 |
|
EssOEss posted:And I thought VB was just silly C# with many words! This is fascinating! I would love to hear more about VB.Net! Here's some trivia in no specific order
|
# ? Nov 12, 2016 02:05 |
|
NihilCredo posted:This is perhaps my favourite. VB.Net has an interesting legacy keyword called 'Static'. It has nothing to do with C-like static entities (those are called "Shared"). Rather, it can be used to declare a local variable in place of the usual Dim. If you do, the value of the variable is retained between each call of the function where the static variable appears.
|
# ? Nov 12, 2016 04:38 |
|
One of my favorite things with VB.Net was actually the XML literals... if you ever need to work with XML, it's pretty handy.
|
# ? Nov 12, 2016 06:39 |
|
mystes posted:This is what the static keyword does in c. Also, please don't use it. You shouldn't randomly hide global state inside functions. Not the same as C. Look at NihilCredo's expansion. The VB static local variable is per-instance of the object -- not global. I get that functional paradigm likes to have "Plain Old Data" classes where every single part of an object's state is declared all together up front. But (1) even in that style it's still nice to have memoization, and declaring the memoized value local to the function is cleaner. And (2) if you're in a more object-oriented paradigm and you declare state interspersed amongst methods, then static variables no worse. NihilCredo posted:I've never figured out why the "iterator" declaration is required, since the use of "yield" ought to be enough to identify the method as an iterator. Imagine if you have a method "Sub Yield(x%)". Then the statement "Yield (5)" would be ambiguously either an invocation of the method, or a yield statement. By sticking in the Iterator method, we remove ambiguity. (We didn't feel able to make "Yield" a new reserved keyword because it seemed too likely a field/method/local name in financial calculations...) We had the same issue with NameOf() operator. In C# they decided to make it bind to a method called "nameof" (if one exists), and only otherwise to bind to the new nameof operator. That was to aggressively pursue 100% backwards compatibility. It came at the cost of making Roslyn syntax analyzers harder to author because nameof nodes have to be represented as invocation-expressions in the Abstract Syntax Tree. In VB we decided that the loss of 100% back-compat wasn't so severe, and so we made NameOf a reserved keyword, and we represent it as its own node in the AST. This was easier to write in the compiler, easier to colorize, and easier to write analyzers. So far no one has complained about the back-compat break Other reason: I think it's fishy when the return type of the method disagrees with the type of the return statement's operand. The "Iterator" modifier feels like a bit of a disclaimer. Other reason: We introduced async and iterator methods+lambdas to VB at the same time, so giving them both a modifier felt regular. Other reason: We wanted to give these new kinds of methods a name that every user of the language would use when they talk about code with colleagues, or when searching on the internet. The modifier encourages that. I should say that I'm no longer on VB! I recently moved to Facebook where I'll be working on the open-source Hack language. It's a variant of PHP which has optional typing and XML literals, so I'm feeling at home VB is now in the very capable hands of Anthony D. Green. Alas he doesn't post to these forums.
|
# ? Nov 12, 2016 07:41 |
|
Thanks for the explanation!ljw1004 posted:Imagine if you have a method "Sub Yield(x%)". Then the statement "Yield (5)" would be ambiguously either an invocation of the method, or a yield statement. By sticking in the Iterator method, we remove ambiguity. (We didn't feel able to make "Yield" a new reserved keyword because it seemed too likely a field/method/local name in financial calculations...) Did you consider just copying C#'s syntax? "Yield Return (5)" wouldn't have had that ambiguity, I think. rarbatrol posted:One of my favorite things with VB.Net was actually the XML literals... if you ever need to work with XML, it's pretty handy. My very first assignment at work was a big gently caress-off XML document export feature... I didn't know about XML literals and ended up literally binding AutoHotKey macros to "xw.WriteElement()" and "xw.EndElement()"
|
# ? Nov 12, 2016 11:22 |
|
|
# ? Jun 7, 2024 08:57 |
|
Stupid question about testing. I've got a method that indirectly relies on pulling data from a database, like I'm testing createFart() which calls getButts() which does "using (var foo = new ButtContext()){ return foo.Butts; }". Do I still need to mock that DBContext, as on this page, and if so how the hell do I mock that internal context? Alternatively, should I just rewrite this to use Dapper or something instead?
|
# ? Nov 14, 2016 00:10 |