|
Hi Richard Deeming,
I intend to check the code and will write another comment for the root cause.
Just look at the code, seems not create such problem.
And I will appreciate if you can talk in more friendly way (such as: this will violate the rule, .....).
We are here to learn and share friend and you are not my boss.
Thanks
Best regards,
TU Tran
Technical Leader
Blog: http://tranthanhtu.vn
Mail: contact@tranthanhtu.vn
Mobile: +84 90 883 884 6
Skype: tranthanhtu83
CodeProject: @techcoaching
LinkedIn: tutrancoaching
Github: techcoaching
|
|
|
|
|
Trying to take the discussion off-line violates the rules of this site.
If you want to help people on CodeProject, then help them HERE, not in a Skype discussion.
You've been here over 11 years. That's more than long enough to know the rules!
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Thank Richard Deeming,
Best regards,
TU Tran
Technical Leader
Blog: http://tranthanhtu.vn
Mail: contact@tranthanhtu.vn
Mobile: +84 90 883 884 6
Skype: tranthanhtu83
CodeProject: @techcoaching
LinkedIn: tutrancoaching
Github: techcoaching
|
|
|
|
|
Since I'm not your boss, I need not stay friendly. There is nothing "interesting" about his "issue", and it seems like spamming. Going for a coffee before I decide whether or not to report this as spam, since your post does not contribute anything.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
Thank Eddy Vluggen for letting me know your idea.
Yeah, it was up to you.
Let consider the situation, @Eddy Vluggen has a problem with his code and the code seems works fine.
The problem was still there, I intend to ask him and may run the code to see any potential cause raises this problem, and may help him to fix. of course, I can write another comment about the root cause if I can found.
And I was not allowed and may be reported as spammer just because someone did not see what I see: The code looks ok but not work.
@Eddy Vluggen: Do you think this is the interesting point.
Again, thank for let me know your idea and you can do what ever you think is right.
Best regards,
TU Tran
Technical Leader
Blog: http://tranthanhtu.vn
Mail: contact@tranthanhtu.vn
Mobile: +84 90 883 884 6
Skype: tranthanhtu83
CodeProject: @techcoaching
LinkedIn: tutrancoaching
Github: techcoaching
|
|
|
|
|
tranthanhtu.vn wrote: And I was not allowed and may be reported as spammer just because someone did not see what I see: The code looks ok but not work. The code does not look "ok".
It is also not a particular complicated subject, there's literally examples on MSDN that you can copy and paste.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
Thank Eddy Vluggen,
Oh, I may lack of knowledge about "Win Application".
Ok, will come back and see the root cause and learn.
Best regards,
TU Tran
Technical Leader
Blog: http://tranthanhtu.vn
Mail: contact@tranthanhtu.vn
Mobile: +84 90 883 884 6
Skype: tranthanhtu83
CodeProject: @techcoaching
LinkedIn: tutrancoaching
Github: techcoaching
|
|
|
|
|
Hi,
How can i perform correlation on several charts(Draw lines to connect specific digits (e.g. depth or height) of a specific track on several multi-track charts) and print it in my report. on the another word, i want to connect related or same parts of all tracks together. for example imagine a hill that you dig(drill) a hole on that and dig(drill) another one beside it on a plane surface. the depth for both of holes is 1000m, the height of the hill is 5m. the lithology (Rock or Ore type) for both holes will be the same for 95m and there will be 5m difference between their lithology changes. i want to connect related parts together. i am also using from DevExpress components. if there are methods to achieve this, with DevExpress components or the visual studio itself, i will be thankful to help me or guide me through some useful assays. another question is how can i attach an image to my question.
thank you in advance.
|
|
|
|
|
For my serializer I have a table of all types from all loaded assembly that have an GuidAttribute.
Today, for debugging / diagnostic purpose, I decided to Log whenever a duplicate was found
Imagine my surprise when I found out zillion of duplicates! Mostly what looks like C++/RT COM interface.. behold!
(000214F2-0000-0000-C000-000000000046, ): Standard.IEnumIDList, Standard.IEnumIDList
(2c1c7e2e-2d0e-4059-831e-1e6f82335c2e, ): Standard.IEnumObjects, Standard.IEnumObjects
(92CA9DCD-5622-4bba-A805-5E9F541BD8C9, ): Standard.IObjectArray, Standard.IObjectArray
(92CA9DCD-5622-4bba-A805-5E9F541BD8C9, ): Standard.IObjectArray, Standard.IObjectCollection
(886d8eeb-8cf2-4446-8d02-cdba1dbdcf99, ): Standard.IPropertyStore, Standard.IPropertyStore
(000214E6-0000-0000-C000-000000000046, ): Standard.IShellFolder, Standard.IShellFolder
(43826d1e-e718-42ee-bc55-a1e261c37bfe, ): Standard.IShellItem, Standard.IShellItem
(B63EA76D-1F85-456F-A19C-48159EFA858B, ): Standard.IShellItemArray, Standard.IShellItemArray
(7e9fb0d3-919f-4307-ab2e-9b1860310c93, ): Standard.IShellItem2, Standard.IShellItem2
(000214F9-0000-0000-C000-000000000046, ): Standard.IShellLinkW, Standard.IShellLinkW
(56FDF342-FD6D-11d0-958A-006097C9A090, ): Standard.ITaskbarList, Standard.ITaskbarList
(602D4995-B13A-429b-A66E-1935E44F4317, ): Standard.ITaskbarList2, Standard.ITaskbarList2
(12337d35-94c6-48a0-bce7-6a9c69d4d600, ): Standard.IApplicationDestinations, Standard.IApplicationDestinations
(3c594f9f-9f30-47a1-979a-c9e83d3d0a06, ): Standard.IApplicationDocumentLists, Standard.IApplicationDocumentLists
(6332debf-87b5-4670-90c0-5e57b408a49e, ): Standard.ICustomDestinationList, Standard.ICustomDestinationList
(36db0196-9665-46d1-9ba7-d3709eecf9ed, ): Standard.IObjectWithAppUserModelId, Standard.IObjectWithAppUserModelId
(71e806fb-8dee-46fc-bf8c-7748a8a1ae13, ): Standard.IObjectWithProgId, Standard.IObjectWithProgId
(ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf, ): Standard.ITaskbarList3, Standard.ITaskbarList3
(ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf, ): Standard.ITaskbarList3, Standard.ITaskbarList4
What kind of criteria could I apply to skip such a type?
I don't foresee any would be used by the application, but if I could find some criteria that automatically dismiss such type and warn when they are used it would be nice... but I am not sure what to use...
mmm.. me think I could use (new) MyGuidAttribute instead of GuidAttribute. but it's kind of a hassle...
[EDIT]
I skipped all type where type.IsCOMObject || type.IsImport and I am down to 8 duplicates!
(496B0ABE-CDEE-11d3-88E8-00902754C43A, ): System.Collections.IEnumerable, System.Runtime.InteropServices.UCOMIEnumerable
(496B0ABF-CDEE-11d3-88E8-00902754C43A, ): System.Collections.IEnumerator, System.Runtime.InteropServices.UCOMIEnumerator
(AFBF15E5-C37C-11d2-B88E-00A0C9B471B8, ): System.Reflection.IReflect, System.Runtime.InteropServices.UCOMIReflect
(AFBF15E6-C37C-11d2-B88E-00A0C9B471B8, ): System.Runtime.InteropServices.UCOMIExpando, System.Runtime.InteropServices.Expando.IExpando
(496B0ABE-CDEE-11d3-88E8-00902754C43A, ): System.Collections.IEnumerable, System.Runtime.InteropServices.ComTypes.IEnumerable
(496B0ABF-CDEE-11d3-88E8-00902754C43A, ): System.Collections.IEnumerator, System.Runtime.InteropServices.ComTypes.IEnumerator
(AFBF15E6-C37C-11d2-B88E-00A0C9B471B8, ): System.Runtime.InteropServices.UCOMIExpando, System.Runtime.InteropServices.ComTypes.IExpando
(AFBF15E5-C37C-11d2-B88E-00A0C9B471B8, ): System.Reflection.IReflect, System.Runtime.InteropServices.ComTypes.IReflect
Mm.. that might be acceptable... although there is the risk of skipping IEnumerable instead of UCOMIEnumerable...
[EDIT2, solved]
I skipped all types where type.IsCOMObject || type.IsImport || type.Namespace.StartsWith("System.Runtime.InteropServices")
And I have no more duplicates
modified 5-Nov-18 8:49am.
|
|
|
|
|
Hi,
I've created a code, which creates and writes all inputs to a text file. I have now created a radiobutton function in form1 which creates a new form (form2), in the same namespace. But now i need to print all user input from form2 to print to the same text file created upon clicking the finish button located on form1. Is there anyway to create code in form1 code to print input from form2 textboxes? I just can't find anywhere how to do this, any help would be great. Thanks.
F.d
|
|
|
|
|
It appears the problem isn't with writing to a file, but getting the data from another form.
There's many different ways of doing this. The easiest would be to write a public, property on your 2nd form that just returns the text from a textbox. You can then write that data to your file from your 1st form.
public string SomePropertyName
{
get
{
return SomeTextBox.Text;
}
}
|
|
|
|
|
Hi,
Thanks for your help.
After looking at this method of coding, I think it might just be easier to place all my data input boxes in the same form. As recalling the data from child to the parent form, seems like going in a large circle for the same end result. I will just work on my visibility options for the textboxes for user inputs.
F.D
|
|
|
|
|
wrote: I think it might just be easier to place all my data input boxes in the same form.
Easier, yes. Correct, no.
wrote: seems like going in a large circle for the same end result WinForms have an expected behaviour with the end-user. Yes, it is easier to put all in one form; it is even easier to put all the input in Console.ReadLine-form and to not use Forms anyway.
Read the materials provided, it is not that complicated
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
Following that logic, you will also have to add all the controls for the Save dialog, the Open dialog, maybe the Font Select dialog to each of your forms, which might make it rather hard to use!
It's not complicated to do it properly - it's less work that fitting all those controls nicely into your main form - and it means that your new form can be reused.
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Assuming that Form2 is created from within Form1, then Form2 could provide a method that Form1 calls to get the data, or Form1 passes the reference to the writer. Without more information it is difficult to guess what is best.
|
|
|
|
|
|
As you can see from the responses here, there are many ways you could implement this; without understanding your UI goals in more detail, I think we're limited in terms of how helpful we can be.
Issues to consider in using multiple Forms:
1. shown modal ? allow user to cancel while incomplete ?
2. data in each field cleared with use, or persistent ?
3. validation ? allow empty fields ? required fields ?
My preference is to offload all serialization, or printing. functions, to a single static Class which might look something like this:
using System;
using System.IO;
using System.Text;
namespace YourNameSpace
{
public static class WriteManager
{
public static string FileName = "Test";
public static string FilePath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
public static string ExtensionType = ".txt";
private static string CurrentPath;
static WriteManager()
{
SetWritePath(FileName, FilePath, ExtensionType);
}
public static void SetWritePath(string name, string path, string extension)
{
FileName = name;
FilePath = path;
ExtensionType = extension;
CurrentPath = Path.Combine(path, name + extension);
}
static StringBuilder stringBldr = new StringBuilder();
public static void WriteFile(StringBuilder sb1, StringBuilder sb2)
{
stringBldr.Clear();
stringBldr.Append(sb1.Append(sb2));
File.WriteAllText(CurrentPath, stringBldr.ToString());
}
public static void ReadFile()
{
}
}
} In this model, the 'WriteFile method requires two 'StringBuilder instances as inputs. I'd implement a 'GetData method in each of the Forms that has the responsibility to read the fields and turn them into a ready to save 'StringBuilder. The call in the main Form that triggers saving might look like:
StringBuilder sb1 = new StringBuilder();
public StringBuilder GetData()
{
sb1.Clear();
sb1.AppendLine(textBox1.Text);
sb1.AppendLine(textBox2.Text);
sb1.AppendLine(textBox3.Text);
sb1.AppendLine(textBox4.Text);
return sb1;
}
private void SaveFileButton_Click(object sender, EventArgs e)
{
WriteManager.WriteFile(this.GetData(), form2.GetData());
} Keep in mind this is a sketch, but, the architecture is one that has proved useful foe me.
«Where is the Life we have lost in living? Where is the wisdom we have lost in knowledge? Where is the knowledge we have lost in information?» T. S. Elliot
|
|
|
|
|
hi
What is the best method to store files in the database?
Storing large files in the database takes a few seconds
now for this witch method is best to control on insert method
When the size of a file is greater, it should monitor the storage process
Which one is best for you?
backgroundworker
Async
Threading
or ?
string filePath = "";
string connectionString = "";
FileStream stream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
BinaryReader reader = new BinaryReader(stream);
byte[] file = reader.ReadBytes((int)stream.Length);
reader.Close();
stream.Close();
SqlCommand command;
SqlConnection connection = new SqlConnection(connectionString);
command = new SqlCommand("INSERT INTO FileTable (File) Values(@File)", connection);
command.Parameters.Add("@File", SqlDbType.Binary, file.Length).Value = file;
connection.Open();
command.ExecuteNonQuery();
|
|
|
|
|
Large files probably shouldn't be stored in a DB at all: instead, store them on an accessible file server, and store the path to the file in the DB.
The way I do it is to use a GUID file name for the actual file, store that path to that in eth DB, and store the "real" file name with that. That way, multiple users can have ABC.DOCX without them conflicting.
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Sometimes I just store the "name and location" in the database; the files get added to a separate folder on the server (e.g. receipt images); available at any time regardless of database status.
Meaningful file names are important (e.g. time stamped; invoice #; etc.).
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|
|
For Sql Server (which I assume you're using since the code references it) look in the docs;
UPDATE (Transact-SQL) | Microsoft Docs[^], under the heading "Updating Large Value Data Types".
--edit
An example of the usage can be found here[^]. Combine those and you can show a progressbar while reading/writing.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
modified 3-Nov-18 9:24am.
|
|
|
|
|
I have a list of System.Drawing.Point , e.g. selected pixels in a bitmap. Now I'd like to get a list of points which are nearby, say less than 10 pixels (simply the sum of distances in x and y direction) away from the former points.
When the number of points is small, that's easy. But when more than 1000 pixels are selected, the performance becomes important. Can you suggest some algorithms for this task?
Currently, I use a simple method:
public static IReadOnlyList<Point> GetSurroundingCloud(this IEnumerable<Point> _points, int _maximumDistance)
{
ISet<Point> result = new HashSet<Point>();
foreach (Point p in _points)
{
for (int x = 0; x <= _maximumDistance; x++)
{
for (int y = 0; y + x <= _maximumDistance; y++)
{
result.Add(new Point(p.X - x, p.Y - y));
result.Add(new Point(p.X - x, p.Y + y));
result.Add(new Point(p.X + x, p.Y - y));
result.Add(new Point(p.X + x, p.Y + y));
}
}
}
return result.ToList();
} As you can see, there are some features which won't scale well:
- the iteration over the input list (though O(n) could be acceptable)
- the loops with maximumDistance parameter - O(n^2) with that parameter
- HashSet.Add - the larger the list gets, the more points it has to look up for preventing duplicates, so something like O(n^2) or worse.
Oh sanctissimi Wilhelmus, Theodorus, et Fredericus!
modified 5-Nov-18 3:50am.
|
|
|
|
|
Trigonometry to the rescue! You can use Pythagorean theorem to calculate the hypotenuse which is basically the length from one point to another.
Hypotenuse - Wikipedia[^]
The trick to make it efficient is to avoid using the Square Root function.
Basically...
10 > sqrt(x^2 + y^2)
is a lot slower to calculate than
10^2 > x^2 + y^2
As some bonus trivia I found the Fast inverse square root - Wikipedia[^] really fascinating:
|
|
|
|
|
Thanks, Dar, but that's not the thing I am looking for. For the purpose of getting that list of points surrounding a given list of points, the sum of x and y will just do for the distance.
It is the generation of the list which I think of.
Oh sanctissimi Wilhelmus, Theodorus, et Fredericus!
|
|
|
|
|
|