Spelt / ZXing.Delphi

ZXing Barcode Scanning object Pascal Library for Delphi VCL and Delphi Firemonkey
Apache License 2.0
479 stars 204 forks source link

DataMatrix implementation #14

Closed MrDevGuy2 closed 8 years ago

MrDevGuy2 commented 8 years ago

Hello Coders

Is somebody already trying to implement the DataMatrix decoding functionality? I'm a student and I need this decoding features currently for my active project study and would be very grateful for any help.

MrDevGuy2 commented 8 years ago

If not... Maybe somecone can convert me at least the files with the Reflector too? So i will go step-by-step through the code and will convert it from Delphi.Net to native Delphi code which is suitable for FireMonkey... Thanks a lot!

Spelt commented 8 years ago

Hi mrDevGuy

Nobody is working on it as far as I know. I can post the reflector files tomorrow.

Op 16 mrt. 2016 om 11:14 heeft MrDevGuy2 notifications@github.com het volgende geschreven:

If not... Maybe somecone can convert me at least the files with the Reflector too? So i will go step-by-step through the code and will convert it from Delphi.Net to native Delphi code which is suitable for FireMonkey... Thanks a lot!

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub

Spelt commented 8 years ago

datamatrix zip

Spelt commented 8 years ago

Hi you can download it as jpg and rename the file extension to .zip

Hope it helps!

MrDevGuy2 commented 8 years ago

Hi Spelt

I'm working on the port of DataMatrix and I guess I've found some small issues. The namespaces for 2D Barcodes are not unique currently. e.g. Version.pas etc. is different for each 2D code type. And it seems in your ZIP file there are some declarations are missing: EncodingOptions and WhiteRectangleDetector is not really declared somewhere.

Can we share skype information or something to share also the current state of the datamatrix port? Maybe you can point me to the right direction with some open points?

Spelt commented 8 years ago

Hi,

I will look for the missing files and check version.pas today or tomorrow.

Hope it helps!

Maybe we can skype on fridays. I'm living in the West European Timezone.

2016-03-23 14:38 GMT+01:00 MrDevGuy2 notifications@github.com:

Hi Spelt

I'm working on the port of DataMatrix and I guess I've found some small issues. The namespaces for 2D Barcodes are not unique currently. e.g. Version.pas etc. is different for each 2D code type. And it seems in your ZIP file there are some declarations are missing: EncodingOptions and WhiteRectangleDetector is not really declared somewhere.

Can we share skype information or something to share also the current state of the datamatrix port? Maybe you can point me to the right direction with some open points?

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/Spelt/ZXing.Delphi/issues/14#issuecomment-200346940

Spelt commented 8 years ago

Yes you can PM or leave contact info. We can delete it later. I have an appointment in half an hour but I can then contact you in 1-2 hour or so.

MrDevGuy2 commented 8 years ago

Hey Edward

I'm really worked hard the last days on the implementation of DataMatrix, UPCEAN, EAN13 etc. Now I want to ask you, how we can work together? I've created a bitbucket project to share this updated code. Should I invite you there? If yes, can you send me a PM with your email to invite you. Maybe we can skype here again too?

Thanks a lot!

Spelt commented 8 years ago

Hi

Thats good news! Love to see it!

Actually what normally people do is :

After the pull request I get a message that there is a branch for me to check and eventually for merging.

Don’t think/know if github and bit bucket mixes pull requests?

Op 8 apr. 2016, om 16:50 heeft MrDevGuy2 notifications@github.com het volgende geschreven:

Hey Edward

I'm really worked hard the last days on the implementation of DataMatrix, UPCEAN, EAN13 etc. Now I want to ask you, how we can work together? I've created a bitbucket project to share this updated code. Should I invite you there? If yes, can you send me a PM with your email to invite you. Maybe we can skype here again too?

Thanks a lot!

— You are receiving this because you modified the open/close state. Reply to this email directly or view it on GitHub https://github.com/Spelt/ZXing.Delphi/issues/14#issuecomment-207463642

Spelt commented 8 years ago

Are you okay? If you are unable to create a pull request maybe you can attach a zip? (And rename it as jpg).

Here is some documentation about pull requests: https://help.github.com/articles/creating-a-pull-request/

Op 8 apr. 2016 om 16:50 heeft MrDevGuy2 notifications@github.com het volgende geschreven:

Hey Edward

I'm really worked hard the last days on the implementation of DataMatrix, UPCEAN, EAN13 etc. Now I want to ask you, how we can work together? I've created a bitbucket project to share this updated code. Should I invite you there? If yes, can you send me a PM with your email to invite you. Maybe we can skype here again too?

Thanks a lot!

— You are receiving this because you modified the open/close state. Reply to this email directly or view it on GitHub

MrDevGuy2 commented 8 years ago

Hi Edward

Sorry for the delay. Currently I've finished the ResultMetaData implementation of the TResultPoint event. Also the ECLevel information etc.

Stay tuned :)

Maybe you can help me out afterwards finding and fixing the memory leaks ...

MrDevGuy2 commented 8 years ago

Hello Edward

So I tried to commit my changes, but it doesn't work at least. So can I send you the archive over skype? Please tell me a time when we can exchange the files.

Thanks a lot and I wish you a nice weekend!

Spelt commented 8 years ago

Nice!

I was thinking. You have it on BitBucket right? Maybe I can get it there and push it to GitHub.

Time is limited this weekend. Got some stuff to do :-( Still I can already take a look.

Op 22 apr. 2016, om 16:31 heeft MrDevGuy2 notifications@github.com het volgende geschreven:

Hello Edward

So I tried to commit my changes, but it doesn't work at least. So can I send you the archive over skype? Please tell me a time when we can exchange the files.

Thanks a lot and I wish you a nice weekend!

— You are receiving this because you modified the open/close state. Reply to this email directly or view it on GitHub https://github.com/Spelt/ZXing.Delphi/issues/14#issuecomment-213449980

Spelt commented 8 years ago

I prefer BitBucket instead of copying files as your Git History will be preserved.

2016-04-22 16:35 GMT+02:00 Edward Spelt edwardspelt@gmail.com:

Nice!

I was thinking. You have it on BitBucket right? Maybe I can get it there and push it to GitHub.

Time is limited this weekend. Got some stuff to do :-( Still I can already take a look.

Op 22 apr. 2016, om 16:31 heeft MrDevGuy2 notifications@github.com het volgende geschreven:

Hello Edward

So I tried to commit my changes, but it doesn't work at least. So can I send you the archive over skype? Please tell me a time when we can exchange the files.

Thanks a lot and I wish you a nice weekend!

— You are receiving this because you modified the open/close state. Reply to this email directly or view it on GitHub https://github.com/Spelt/ZXing.Delphi/issues/14#issuecomment-213449980

MrDevGuy2 commented 8 years ago

Hello Edward

Here is the update package for my idea of Version 3.0: https://www.dropbox.com/s/uv94ypyp4hlqe82/ChangesForV30.zip?dl=0

Your current changes for the Barcode128 are not added yet.

Can you please check the new file and folder structure and maybe you can create a new branch for it? And I would be very pleased if you could help me out fixing the memory leaks etc. asap

If you have further questions, just let me know :)

Spelt commented 8 years ago

Super !

I already downloaded it. I hope I can check it out this weekend. Looking good!

No worries about the changes i’ve made. I’ll merge it.

I’ll be in touch.

Op 28 apr. 2016, om 15:18 heeft MrDevGuy2 notifications@github.com het volgende geschreven:

Hello Edward

Here is the update package for my idea of Version 3.0: https://www.dropbox.com/s/uv94ypyp4hlqe82/ChangesForV30.zip?dl=0 https://www.dropbox.com/s/uv94ypyp4hlqe82/ChangesForV30.zip?dl=0 Your current changes for the Barcode128 are not added yet.

Can you please check the new file and folder structure and maybe you can create a new branch for it? And I would be very pleased if you could help me out fixing the memory leaks etc. asap

If you have further questions, just let me know :)

— You are receiving this because you modified the open/close state. Reply to this email directly or view it on GitHub https://github.com/Spelt/ZXing.Delphi/issues/14#issuecomment-215420001

Spelt commented 8 years ago

Hi

I did take a look and merged your version with mine. You got some nice ideas implemented!

Unfortunately loads of memory bugs :-( Probably not on Android or IOS (because of the ARC compiler tech) but on Windows there's a bunch of them. I' m in the progress of ironing out those memory bugs. Some are quit hard to catch but I can say I've already got 90% (down 87 to 9) of them.

It safe to say that I will have a solid version by the next weekend.

Got a question: The EANs are not implemented? Looks like there almost finished.

2016-04-28 15:39 GMT+02:00 Edward Spelt edwardspelt@gmail.com:

Super !

I already downloaded it. I hope I can check it out this weekend. Looking good!

No worries about the changes i’ve made. I’ll merge it.

I’ll be in touch.

Op 28 apr. 2016, om 15:18 heeft MrDevGuy2 notifications@github.com het volgende geschreven:

Hello Edward

Here is the update package for my idea of Version 3.0: https://www.dropbox.com/s/uv94ypyp4hlqe82/ChangesForV30.zip?dl=0

Your current changes for the Barcode128 are not added yet.

Can you please check the new file and folder structure and maybe you can create a new branch for it? And I would be very pleased if you could help me out fixing the memory leaks etc. asap

If you have further questions, just let me know :)

— You are receiving this because you modified the open/close state. Reply to this email directly or view it on GitHub https://github.com/Spelt/ZXing.Delphi/issues/14#issuecomment-215420001

MrDevGuy2 commented 8 years ago

Hi Edward

Yes I know a lot of memory bugs are in there :( But I guess it would be much cleaner to use TObjectList etc. instead of TList only? This would catch much better the elements inside the Lists and will release/free their elements them much better? What you think about?

The EAN is almost implemented, but in the test app it seems that it doesn't work correctly yet. But I think for you it's quite easy to finish EAN13 and maybe the other ones which are base on UPEAN too? :)

Spelt commented 8 years ago

Yes you are right about the TObjectlist but please don't change it because its working. (There is no substitute for working software) I did replace it where I could in the Datamatrix units where there were leaks.

Unfortunately dont have the time to work on Ean.

Op 2 mei 2016 om 07:20 heeft MrDevGuy2 notifications@github.com het volgende geschreven:

Hi Edward

Yes I know a lot of memory bugs are in there :( But I guess it would be much cleaner to use TObjectList etc. instead of TList only? This would catch much better the elements inside the Lists and will release/free their elements them much better? What you think about?

The EAN is almost implemented, but in the test app it seems that it doesn't work correctly yet. But I think for you it's quite easy to finish EAN13 and maybe the other ones which are base on UPEAN too? :)

— You are receiving this because you modified the open/close state. Reply to this email directly or view it on GitHub

MrDevGuy2 commented 8 years ago

Ok no problem I will take a look at EAN the upcoming weekend. You have already commitet your changes?

Spelt commented 8 years ago

Not yet pushed it to github. Will do that if there are zero leaks

Op 3 mei 2016 om 16:24 heeft MrDevGuy2 notifications@github.com het volgende geschreven:

Ok no problem I will take a look at EAN the upcoming weekend. You have already commitet your changes?

— You are receiving this because you modified the open/close state. Reply to this email directly or view it on GitHub

Spelt commented 8 years ago

Hi

Zero leaks! But a bug :-(

I pushed it to a fresh v_3.0 branch so we can work from there. This branch is not (yet) the main branch because of a bug.

Overall

I think you made the software a whole better!

Memoryleaks

It looks like they are gone. I found them all. You do make the same mistake often though :-)

Bug

I added a failing test case to show you the bug. Its the first test in the AllDataMatrixCode test procedure. I just created a big white png file with one of the test barcode in it. I took the dm1.png and copied there. It does fail and I don't know why. It has to do with borders/size. You probaly find it easily.

Other Changes

I ripped out the OneDReaderFile to get rid of some structure complexity. Only MultiFormatReader.pas knows about barcode types.

You can see the 3.0 branch via the spelt/zxing or via https://github.com/Spelt/ZXing.Delphi/tree/v_3.0

Simplification of adding readers to the TMultiformatReader

2016-05-03 17:48 GMT+02:00 Edward Spelt edwardspelt@gmail.com:

Not yet pushed it to github. Will do that if there are zero leaks

Op 3 mei 2016 om 16:24 heeft MrDevGuy2 notifications@github.com het volgende geschreven:

Ok no problem I will take a look at EAN the upcoming weekend. You have already commitet your changes?

— You are receiving this because you modified the open/close state. Reply to this email directly or view it on GitHub https://github.com/Spelt/ZXing.Delphi/issues/14#issuecomment-216544934

Spelt commented 8 years ago

Hi. Was wondering if you got the bug ironed out.

MrDevGuy2 commented 8 years ago

Hi Edward

I'm really really sorry about the big delay of my response. I was very busy with my diploma project. I will try to find the nasty bug this upcoming weekend. I'll keep you informed

Spelt commented 8 years ago

Hope your diploma project is doing fine :-)

2016-06-17 14:12 GMT+02:00 MrDevGuy2 notifications@github.com:

Hi Edward

I'm really really sorry about the big delay of my response. I was very busy with my diploma project. I will try to find the nasty bug this upcoming weekend. I'll keep you informed

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/Spelt/ZXing.Delphi/issues/14#issuecomment-226753512, or mute the thread https://github.com/notifications/unsubscribe/AMEt1ThT4l5EE4OsKCxMsY0zTzq9zq8lks5qMo9AgaJpZM4Hx1p_ .

Spelt commented 8 years ago

Hi

Hope you have a nice holiday !

Any chance of that bug fix soon? :-)

Op 17 jun. 2016, om 18:37 heeft Edward Spelt edwardspelt@gmail.com het volgende geschreven:

Hope your diploma project is doing fine :-)

2016-06-17 14:12 GMT+02:00 MrDevGuy2 <notifications@github.com mailto:notifications@github.com>: Hi Edward

I'm really really sorry about the big delay of my response. I was very busy with my diploma project. I will try to find the nasty bug this upcoming weekend. I'll keep you informed

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/Spelt/ZXing.Delphi/issues/14#issuecomment-226753512, or mute the thread https://github.com/notifications/unsubscribe/AMEt1ThT4l5EE4OsKCxMsY0zTzq9zq8lks5qMo9AgaJpZM4Hx1p_.

Spelt commented 8 years ago

Hi

Any chance on that bug?

2016-06-17 14:12 GMT+02:00 MrDevGuy2 notifications@github.com:

Hi Edward

I'm really really sorry about the big delay of my response. I was very busy with my diploma project. I will try to find the nasty bug this upcoming weekend. I'll keep you informed

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/Spelt/ZXing.Delphi/issues/14#issuecomment-226753512, or mute the thread https://github.com/notifications/unsubscribe/AMEt1ThT4l5EE4OsKCxMsY0zTzq9zq8lks5qMo9AgaJpZM4Hx1p_ .