|
Compensated - both of them!
Ideological Purity is no substitute for being able to stick your thumb down a pipe to stop the water
|
|
|
|
|
OriginalGriff wrote: Compensated - both of them! Can excess compensation lead to decompensation, triggering an infinitely recursive bi-cycle ?
The front-wheel that turns in my mind contemplating this has so many spokes I experience it as solid, but I know that it is not: I can't see the back wheel
best, Bill
"Anyone who shows me my 'blind spots' gives me the gift of sight." ... a thought from the shallows of the deeply shallow mind of ... Bill
|
|
|
|
|
Lately I have been exploring the interesting world of the Tuple object in .NET 4. I find it interesting that a Tuple's internal Items (buckets ? ... or whatever is under the hood) can take any objects of any Type, and those objects can be accessed, via the getter, then used without casting.
And, nice that Tuple exposes Sort, Equivalence/Equality, and Comparison.
Given that Tuples are, by design, immutable: I am curious under what circumstances you would choose to use Tuples.
Appreciate any thoughts, and I do realize this is a more "general" kind of question than is usually asked here, but I can't think of a more appropriate forum on CP.
thanks, Bill
"Anyone who shows me my 'blind spots' gives me the gift of sight." ... a thought from the shallows of the deeply shallow mind of ... Bill
modified 5-Dec-11 4:16am.
|
|
|
|
|
Very rarely and for short periods only; for real work I write a class/struct. I think they're ridiculous.
|
|
|
|
|
I used it in a comment once:
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass." - Dale Earnhardt, 1997
modified 5-Dec-11 8:47am.
|
|
|
|
|
[groan] Comments like that should be in the Lounge
No comment
|
|
|
|
|
If we can't laugh at each other, who CAN we laugh at?
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass." - Dale Earnhardt, 1997
|
|
|
|
|
John Simmons / outlaw programmer wrote: who CAN we laugh at
Everyone else who are not us of course.
No comment
|
|
|
|
|
|
There is an article here on CP which suggests some possible uses:
C# 4 - Tuples[^]
|
|
|
|
|
+5 Thanks for this link ! I am continually urging QA questioners to search CP, so this does remind me I should "practice what I preach."
It would interest me to know the .NET performance aspects of Tuples compared to a solution in which structs were used as the basis for a collection that was sortable, comparable, etc. Anonymous types are another possible answer, but you can't "export" them, so for me they don't belong in this hypothetical comparison.
thanks, Bill
"Anyone who shows me my 'blind spots' gives me the gift of sight." ... a thought from the shallows of the deeply shallow mind of ... Bill
|
|
|
|
|
One occasion when rapidly developing an application I will use it as a return type when I need to return more than one variable. However, I usually end up refactoring it to be a real object.
|
|
|
|
|
I would never use one in production code. They might be useful for a quick hack to produce a technical prototype, but they seem like a step backward to me, in that you lose all semantic meaning of the type declaration. (You don't return ArrayList from methods, do you? Think about why not, and how much of that also applies to a typed tuple.)
It's trivial to create a custom data storage class to hold a multi-part return and you can give that a meaningful name, provide helpful reading or manipulation methods and so on which relate directly to the particular use you want to put the class to.
I use tuples in prototyping or dynamic languages where they are syntactically convenient and the expectations of meaning and type safety are relaxed (e.g. APL) – but even there, most of those languages now support the dynamic creation of objects which you can use to provide meaningful names for elements of the data. E.g. JavaScript:
function x(args){
return { thing: 'result'; type: 'awesome'; answer: 42 };
}
That seems much clearer to me than
return ['result', 'awesome', 42];
... and the same applies in C#. Add onto that the clumsy looking declaration for a tuple (Tuple<string, string, int> is as long as CleverMethodResult ) and I see no reason to use them.
|
|
|
|
|
Thanks Bob, for your thorough reply. Your wider perspective on the use of Tuples outside .NET is very valuable.
Right now the only advantage I can see in using them in C# .NET is that you can have Tuples with the same internal values for each Item be keys in a Dictionary, but that's a rather rare/strange usage.
It was fun, plumbing the depths of Tuples
Too bad there isn't a Form of Tuple that lets you establish "meaningful aliases" to use instead of Item1.Item2 ...
best, Bill
"Anyone who shows me my 'blind spots' gives me the gift of sight." ... a thought from the shallows of the deeply shallow mind of ... Bill
modified 6-Dec-11 22:24pm.
|
|
|
|
|
Hai, friends
Iam new to develop a application with multiple language in c#. i writed program for getting translated texts from database. and i put it in the form1's code event but it work only for the form1 i would like to get my translation to all my form my application have and each and every message showing in message box. so where should i put this translation code? in the program.cs page?
can anyone Help me by a small exmple?
Please Help me
Arunkumar.T
|
|
|
|
|
You need to read up on something called Separation of Concerns. There are plenty of C# examples that you should be able to get an understanding of. You should separate the translation code out into a separate cless. Good luck.
|
|
|
|
|
Which UI-framework are you targetting? WPF[^] or WinForms[^]?
Bastard Programmer from Hell
|
|
|
|
|
Trying to talk him in to taking a look at MVVM?
Cheers (and regards from Sinterklaas ) AT
Cogito ergo sum
|
|
|
|
|
Addy Tas wrote: Trying to talk him in to taking a look at MVVM?
Wouldn't hurt, but I was trying to talk him into taking a look at MSDN
Addy Tas wrote: Cheers (and regards from Sinterklaas ) AT
He'll have another chance at abducting me to Spain next year
Bastard Programmer from Hell
|
|
|
|
|
Please clarify: is this WinForms, or Web based, or ... ?
Also, exactly what do you mean by "translate" here: what exactly is the "translation code" ?
1. you could be saying you are pulling data from a database in one language, and then translating it yourself in your own code (or via some Web service, or by interacting with other software components) into other (multiple ?) languages, so different languages might be displayed in different Forms.
2. you could be referring to the issue of localization here, but I seriously doubt that.
3. or, are you saying you want to take this "translated text" you retrieved from the DataBase, which is already translated into one-and-only-one language, and display it in more than one Form: so the same content, in the same language is shown in every Form ?
And, where do MessageBoxes come into the action here: where does the content of the MessageBoxes come from ?
My guess is that you mean #1, but it would be good to know that for sure.
"Anyone who shows me my 'blind spots' gives me the gift of sight." ... a thought from the shallows of the deeply shallow mind of ... Bill
modified 4-Dec-11 21:10pm.
|
|
|
|
|
I'm guessing here, but the OP's question smells to me like localisation.
Cheers,
Peter
Software rusts. Simon Stephenson, ca 1994.
|
|
|
|
|
Hai thank you for your answers guys
i am trying to make a windows application in c#.
this is my database table structure
f_textinenglish,f_language_code,f_texttranslated<br />
<br />
welcome 101 welcome<br />
welcome 102 bienvenida<br />
welcome 103 welkom
i have a combo box in first form when a user change language there all all labels and all forms change to the selected language.
i writed program for getting translated text for each control in the form1.
my question is where should i put this code for getting tranlation globally(means all form and all controls)?
i thing you understand what is my problem . Please Help Me.
Thank you
Arunkumar.T
|
|
|
|
|
Arunkumar.Koloth wrote: Hai thank you for your answers guys Sri Arunkamar, you are indeed dealing with a problem of system language localisation, and there are powerful solutions within .NET for support of multiple languages, that use the internal facilities of the OS.
Specifically you want to be using resource files here. There are lots of articles on CP about localisation, just search. Here's one that's still getting current positive votes now, even though its eight years old[^].
So why are you writing your own replacement, when built-in multi-language support is a given ?
"Jangal mein hain bole koyal ku, ku, kuu!" ... "In the jungle the cuckoos are crying ku ku kuu!" ... from the song "Kahin Ag Lage" in the movie, "Taal.[^]
"Anyone who shows me my 'blind spots' gives me the gift of sight." ... a thought from the shallows of the deeply shallow mind of ... Bill
modified 4-Dec-11 22:13pm.
|
|
|
|
|
Arunkumar.Koloth wrote: can anyone Help me by a small exmple?
I recommend picking up a good book and reading some chapters on ADO.Net.
This should give you a fair idea plus a lot of sample code as well.
Too much of heaven can bring you underground
Heaven can always turn around
Too much of heaven, our life is all hell bound
Heaven, the kill that makes no sound
|
|
|
|
|
Hai again this is my class code
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SQLite;
namespace sample
{
class translation
{
private SQLiteConnection sql_con;
private SQLiteCommand sql_cmd;
private SQLiteDataAdapter DB;
private SQLiteDataReader dr;
public void LoadTranslations(int languagecode)
{
string[] TextinTranslatedArray = new string[200];
string[] TextinEnglishArray = new string[] { "Admin","User","ZHome","UserName"};
for (int i = 0; i < TextinEnglishArray.Length; i++)
{
string sql;
sql = "SELECT f_text_translated FROM t01_text_translation WHERE f_text_english='" + TextinEnglishArray[i] + "'AND f_language_code='" + languagecode + "'";
sql_cmd = sql_con.CreateCommand();
sql_cmd.CommandText = sql;
dr=sql_cmd.ExecuteReader();
TextinTranslatedArray[i] = dr.GetValue(0).ToString();
}
sql_con.Close();
}
private void SetConnection()
{
sql_con = new SQLiteConnection("Data Source=DATA.sl3;Version=3;New=False;Compress=True;");
}
}
}
AND WHEN I CREATE A OBJECT FOR THIS CLASS IN MY FORM I GOT SOME ERROR
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace sample
{
class tr=new translation();
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
Error is :-
Error 3 { expected C:\Users\arun\Documents\Visual Studio 2005\Projects\sample\sample\Form1.cs 11 13 sample<br />
Error 4 Invalid token '=' in class, struct, or interface member declaration C:\Users\arun\Documents\Visual Studio 2005\Projects\sample\sample\Form1.cs 11 13 sample<br />
Error 5 Class, struct, or interface method must have a return type C:\Users\arun\Documents\Visual Studio 2005\Projects\sample\sample\Form1.cs 11 18 sample<br />
Error 6 } expected C:\Users\arun\Documents\Visual Studio 2005\Projects\sample\sample\Form1.cs 24 2 sample
What is this error?
Please Help me
Arunkumar.T
|
|
|
|