From the article: Delphi Programming Challenges / Exercises / Algorithms
Do you have a Delphi function that you think should be optimized for speed, size or flexibility? Need some help with refactoring your existing Delphi code? Have trouble implementing efficient algorithms?
What programming challenges you'd like to see? Propose your Delphi programming challenge!
Let others help you: ask Delphi developers to refactor your code or ask for something you do not know how to implement.
Please do not submit "create a program to do [mega-project]". We are looking for small Delphi functions designed to solve some particular problem, implement some particular algorithm.
Par2 Encode Decode
- Create routine to encode recovery packets for PAR2 implementation. Create routine to decode and recover missing files.
- —mbillig02
RE: Algorythm, free surface measurement
- This sounds like a classic "rectangle packing problem". But your requirements are not very clear. I think you want to reduce "wasted space" by placing crates as close to each other as possible reducing gaps between them. The total area of enclosing rectangle is known (area of stock room)? The orientation of crates is fixed, or they can be rotated once?
- —Guest A. Almeida
On Screen Display
- I would really apreciate a OSD component or function similar to this: function _osd(Graphic: TGraphic; Position: TRect; AlphaBlendValue: Byte): Boolean; overload; function _osd(const Text: String; Position: TRect; AlphaBlendValue: Byte): Boolean; overload; Position(TRect) should be used according to 1st parameter(String|Graphic), i.e. -- if i wish to draw a bitmap|jpeg|etc. the all parts of the Position record should be used else only (Top & Left) -- Thank you so much
- —zeuspelink
RE: Extract sub string from main string
- the delimiter is always a single char or may be a string? can delimiters be contiguous?
- —Guest A. Almeida
Show Explorer File Menu
- How to make a List box where all the Items are the Paths to random files on a PC, show the same popup menu on right-click tatis shown when in the Windows Explorer for that file
- —michmela44
Algorythm: free surface measurement
- Situation: Some crates are randomly positioned in a stockroom. Not stacked. Problem: how to determine the free space between the crates i.e determine as much different surfaces (free of crate ) as possible and maximize the utilization of the available free space ? Condition: the free surfaces should be determined as rectangle, hence 2 points (x,y) allow to position and locate them.
- —Guest L.Bégué
Extract sub string from main string
- Howto extract sub string from large string as quick as possible? Main string size might be >50mb and data delimited with delimiter for example " " without quotes. There can be thousands of delimiters or just a few. Sub string should be extracted by defining delimiter string and the index of wanted delimited item. For example: ExtractSubString(' first second third fourth',' ',3) should return string "third". Note: performance is essential especially *LARGE* strings with thousands of delimiters. The winner is fastest function which does specified task.
- —PekunZip
Download Web Page
- I would like to be able download ALL the files belonging to a Web Page.
- —Guest Bob Stanton
Delphi Folder Observer
- How to keep an internal object synchronized with an external folder. When files are inserted or deleted from the folder, the internal list will be updated.
- —Guest Anonymous
Assemble bitmap files using Delphi
- A big bitmap has been cut into small pieces. All bitmap files have this pattern file name : BmpRxxxCyyy.bmp where xxx is row number (005) and yyy is column number. All bitmaps have same size and are in same folder. The function call could be like this : function GetAssembledBMP(AFolder: string; AMaxRow, AMaxCol: Integer): TBitmap;
- —LPierre
