-
Content Count
888 -
Joined
-
Last visited
-
Days Won
7
Everything posted by Stano
-
Team competition - how to do it
Stano replied to Stano's topic in Algorithms, Data Structures and Class Design
I have found that for me, the best method to use in this case is the small incremental steps method. Per partes. That way the solution to the problem gradually emerges from the depths. Looks like I'm on the right track. Unfortunately, I can't explain it any better. I prefer classes for the record. I'm very fond of generics. I don't have to deal with performance. Thanks to all involved for trying to help me. -
Team competition - how to do it
Stano replied to Stano's topic in Algorithms, Data Structures and Class Design
I don't understand part of the case. It doesn't say "condition". case condition of That is why I do not understand the whole proposal either. -
Team competition - how to do it
Stano replied to Stano's topic in Algorithms, Data Structures and Class Design
1) Let's just look at the left part: group round It's a familiar scheme. Nevertheless, I find it very difficult to explain. ===== 2) I have the basic data written in the application. I have specified: teams in the first "Group round" number of Group round dynamically created graph for KO system That's all. ===== 3) In the meantime, I've decided that it will be good if all nodes in the Group round will have CheckBoxes. At the level of 0 (Group) they have no role 1 check mark means the advancing team ===== 4) The user's task is to move the advancing team to the adjacent right tree. If this is OK, the user will confirm this. Based on that, I will generate the teams in groups for that round. Here we handle this with the WriteToDB function ===== 6) It is up to the user whether to have it generated: matches (including rematches) list of players in each match These two points are not the task of this solution. Nor is entering data for the matches part of this task. ===== 7) I need to create the conditions to be able to: ReadFromDB: populate individual trees - I don't see a problem here hide unnecessary Group round in the code to accurately identify the individual rounds. So that I can set properties for them. For example: hidden, inaccessible, active. I don't need to identify the teams HERE. Then trees are enough for me. At least that's what I think. Write the result using WriteToDB 8) I'm not dwelling on the DB structure and working with it right now. That will follow smoothly from the problem itself. It's beyond the scope of this problem. ===== 9) The challenge is to design for point 7) correctly: data structures classes and their functions/methods Only the names of the functions, which will explain their operation - are sufficient. -
I search, I search and I don't see it anywhere Put your minimum code here. So everyone here is just guessing.
-
The first form created is always the main one. We don't know how you create Form1.
-
Team competition - how to do it
Stano replied to Stano's topic in Algorithms, Data Structures and Class Design
Something like that. To make it easier for you to comment. -
Problems with Delphi class structure / visibility
Stano replied to Willicious's topic in Delphi IDE and APIs
I recommend that you visualise the whole situation. That is the most important thing to do. This will help you to understand the problem. Since you can't do it in your head, and neither can I, you have to sketch it out. Paper is inappropriate for this task. The best I know is the DIA program. It's not finished and it's already dead. It does its job more than well. I'm confident that you will move forward with this technique. I personally use it to visualize problems: DIA: DB bindings, Classes: dependencies (links), their structure - as needed Word, text editor Excel FreeMind -
Problems with Delphi class structure / visibility
Stano replied to Willicious's topic in Delphi IDE and APIs
I was very struck by this line. Why do you have retyping there? What happens if fSpawnIntervalChanges) is not TReplayChangeSpawnInterval? Also, I don't like the comparison character = there These are very gross, severe errors in the code!!! And do see my signature! -
I know that. My post was a reaction and Fr0sT.Brutal
-
I don't know if that's still the case. When I bought Adon(?) for FrireDAC, the supplier wrote to me: Professional has everything as higher versions. Adon only unlocks access to multiple access functions.
-
I have three very similar classes. For one is an announcement: Unsorted classes -> TTableGroup is not sorted This is not true. I don't see a reason for it and I can't find a cause. When sorted, it looks like this: TTableGroup = class(TVstTableData) strict private FcbxFilterByCountry: TAdvComboBox; FFieldFilterByCountry: TList<TField>; FFreeMember: TFreeMember; FGroupData: PTableData; FMemberData: PTableData; FMemberID: TList<Integer>; FShowDates: TAdvOfficeCheckBox; procedure FilterByCountryChange(Sender: TObject); procedure GetComponents(const Form: TForm); procedure GetFMemberIsInGroup; protected strict protected FMissingMember: TList<PVirtualNode>; FqryFilterByCountry: TFDQuery; FQryIns: TFDQuery; procedure CreateSQL; override; procedure FillFilterByCountry; procedure SetParams; virtual; abstract; protected procedure GetForm; procedure SetEvents; procedure SetMemberInGroupData(const I, PKeys: Integer; const MemberData: PTableData); procedure SetVst; procedure ShowDatesClick(Sender: TObject); procedure VstChange(Sender: TBaseVirtualTree; Node: PVirtualNode); procedure VstCompareNodes(Sender: TBaseVirtualTree; Node1, Node2: PVirtualNode; Column: TColumnIndex; var Result: Integer); procedure VstDragAllowed(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; var Allowed: Boolean); procedure VstDragDrop(Sender: TBaseVirtualTree; Source: TObject; DataObject: IDataObject; Formats: TFormatArray; Shift: TShiftState; Pt: TPoint; var Effect: Integer; Mode: TDropMode); procedure VstDragOver(Sender: TBaseVirtualTree; Source: TObject; Shift: TShiftState; State: TDragState; Pt: TPoint; Mode: TDropMode; var Effect: Integer; var Accept: Boolean); procedure VstFreeNode(Sender: TBaseVirtualTree; Node: PVirtualNode); procedure VstGetNodeDataSize(Sender: TBaseVirtualTree; var NodeDataSize: Integer); procedure VstGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: string); procedure VstIncrementalSearch(Sender: TBaseVirtualTree; Node: PVirtualNode; const SearchText: string; var Result: Integer); procedure VstInitNode(Sender: TBaseVirtualTree; ParentNode, Node: PVirtualNode; var InitialStates: TVirtualNodeInitStates); public constructor Create(const ANavigator: TjstFDNavigator); override; destructor Destroy; override; procedure FillVst; override; property FreeMember: TFreeMember read FFreeMember write FFreeMember; end It's created protected there, which I don't want. The whole unit is attached RelationTree.pas
-
I've already found the bug. I had the word protected after the procedure declaration. On one line.
-
Can't point 2.1 be replaced by overwriting the field size in the table? I didn't have a problem with it.
-
You are not alone in this. I've been able to afford to replace the FireDAC on my 2 small projects.
-
FireDAC has always been part of the ver. Pro. But with the limitations already mentioned here: Local DB only. Sometimes one could buy access to servers. Price > 600€ no source code If you don't need the above, you've won. Otherwise just a 3rd party solution. DevArt is not expensive. But it means reworking everything. It doesn't offer nearly the capabilities that FireDAC has. Of course, it depends on whether you've used them. Asking 2,500€ for server access to DB with the understanding that we'll get a bunch of, for you and me, useless stuff is not worth commenting on.
-
For fun. Completely off topic. Those ISO were invented so we couldn't compete in the western market. Supposedly. Is that true? The story is real. Siemens was offering measuring equipment to a chemical company. Company: we would like to buy it from you, but we can't. S: gone? Company: you don't meet the ISO standard S: they went home and worked hard to meet ISO
-
Based on my experience, many years back, ISO... quality improvement is just generating piles of paper. The more the better. A manufacturing customer told me: If the worker did everything the way it is required so: he will do nothing, he will just write something down I'd be bankrupt in no time. I have a batch of 10 pieces and one is defective. I have to throw away all 10 pieces Maybe that has changed.
-
Please. Pokusy.delphilsp.json
-
Has e.g. CrossTable et al. It was the reason for my purchase
-
Looking for RpShell, RpTable, RpDefine, RpBase, RpSystem
Stano replied to georges pletinckx's topic in Windows API
Rave was once part of Delphi. Just like FR is now. I don't remember the years. -
Looking for RpShell, RpTable, RpDefine, RpBase, RpSystem
Stano replied to georges pletinckx's topic in Windows API
Wouldn't you consider creating press reports in Fast Report? -
I dynamically generate components. Rendering was very slow. I managed to solve it. I asked on forum.delphi.cz. I didn't get an answer. So I ask here This is interesting. I used: the ScrollBox on form on it TAdvSmoothPanel - it has a canvas. I draw the lines now panels on it, on which I store the generated components The rendering is thus instantaneous. Without those panels it was for a maximum number of components with a time of ~12-13 sec. Now I estimate 1-1.5 sec Why is that?
-
I finally found the cause. It's TCurvyPanel. If I replace it with another panel, it's lightning fast.
-
I copied the files to the pitch. I only made the necessary editing. No matter what I do, I get almost no responses. Could the fact that it's a subform in the project have something to do with this? On the pitch the main form.
-
I'll try it tomorrow. If I have a long time, I'll make a sample application. I've tried all sorts of things. Always with the same result.