Quite an achievement, running .NET applications that use the Windows.Forms-namespace on Linux. The instructions on how to setup Mono to do such a thing can be found on these pages.
Delphi Developers’ Singapore and Asia Fortress of Solitude has a short but simple tutorial how to implement an RSS 2.0 newsfeed (using Delphi 8 for .NET) on your corporate website. Or whatever website. Check it out here.
OUAU should now work for all Office versions, and you can select the Office version (if for some reason you have partial Office installations) and it will reread and write the appropriate registry-entry.
Changes
- Ability to change Office version by using the radiobuttons
- Added link to this blog in context-menu
To do
- Close the application when unsupported Office version is detected (detection and errormessage is already in place)
Yesterday I was working on an application (not WRap) that works with RTF documents. I load them into a RichViewEdit, and the user has the ability to do basic editing. To enable full-scale editing, I thought it would be nice to have a button that started Word with the appropriate document. So far so good.
Word opens, the document is loaded, document can be amended, saved, whatever. Exit Word. Oh my, I have to reload the document into my RichViewEdit. Easy. But…hey…wait a second. How do I know if the user is done editing in Word?
[Google searching heard in the background]
I found this page that basically has the answer. And indeed, basically it works. The program starts Word with the correct document, and if I close it, I’m back in my application. But…whenever I change the document and close Word (Do you wish to save…blablabla) something goes wrong. Word does not close, and I have to close it via CTRL-ALT-DEL. I can’t figure out what goes wrong, since the flow works whenever I don’t change the document. What’s the difference?
Borland has extended and expanded their Open Tools contest. Previously this contest was only open to C#Builder-coders, but the contest has been expanded to Delphi8-submissions as well.
The thing to build is a “must-have” add-on for C#Builder or Delphi8 in their Open Tools API.
You can submit your entry until June 30th, 2004, and you can win a Tablet PC!
Click on the link in the title to find out more about the contest, entering submissions and rules.
Zojuist even een Outlook Unsafe Attachments Unblocker gemaakt. Dat gezeur van Outlook dat ‘ie sommige files unsafe vindt om te versturen. Dat maak ik zelf nog wel uit.
Klik hier om te downloaden.
De UK editie van PC Magazine heeft een review van Delphi 8. De test is vrij negatief, en test eigenlijk meer de vraag “is Delphi de Pascal variant van Visual Studio” dan dat er aandacht wordt geschonken aan het feit dat Delphi nu in staat is voor veel projecten zonder al te veel aanpassingen aan de broncode Win32 en .NET programmatuur op te leveren, en daarmee een goede brug slaat voor projecten die gemigreerd moeten worden naar .NET (omdat het management dat wil ;)).
Delphi 8 betekent voor een ontwikkelaar dat deze kan kiezen uit verschillende talen, zoals VB.NET, J#, C# en nu dus ook Delphi. Waar geen aandacht aan besteedt wordt, is dat D8.NET bijna een onveranderde syntax heeft, terwijl het gebruik van VB.NET, J# en C# toch echt betekent dat je weer even moet bijspijkeren.
Wat ik ook wel grappig vind, is dat ze zeggen dat Delphi nu op Visual Studio lijkt. Is ook wel zo, maar volgens mij is Visual Studio steeds meer op Delphi gaan lijken.
Zie ook deze briljante post op BDN.
FileExplorer is een gratis add-in voor de Delphi 8 IDE. Gemaakt door een Borland-medewerker, dus dat zit wel snor. Voorlopig is FileExplorer nog in beta, maar dat zal wel de bescheidenheid van de maker zijn. Ga snel naar zijn site.
Of kortweg Wart? Lijkt teveel op Fart! Hehehe, grapje. Het is me gelukt om in een Delphi6 progje de MailMergefields te vervangen door tekst. Er zat nog een addertje onder het gras, want…. Je kunt niet naar een MMField toespringen zoals met een Bookmark. Dus…je moet door de velden heen loop-en, en kijken of de huidige de door jou gezochte is. Zo ja, dan kun je hem met Select/Selection.TypeText vervangen. Maar ja, dan verandert het aantal MMFields in het document, en wordt de lus (die zo handig tot en met MMFields.Count liep) ineens ongeldig. Want had je eerst bijvoorbeeld 4 MMFields, na de eerste replace heb je er nog maar 3. Kortom, index 4 gaat fout en geeft een Exception. Oplossing zoals ik hem heb gemaakt (commentaar voor een betere) is een while-loop die kijkt of er nog MMFields zijn (while MMFields > 0) met daarin een for-loop die van 1 tot MMFields.Count zoekt naar het juiste veld. Is het veld gevonden, dan vervangen en met een Break eruit. While gaat dan verder….
Nu de koppeling naar de dictionary leggen, en de ik vervang mijn Word samenvoegvelden door database-query-results applicatie is geboren. Daarna komen de lussen en geneste lussen.
*zucht* Waarom is het alweer bedtijd?!
Soms is het leven zo simpel. Ik was op zoek naar een mogelijkheid om via Word rapportage te maken vanuit een Delphi applicatie. Ik had al wat rapportage componenten bekeken, en hoewel de mogelijkheden van sommige componenten spectaculair te noemen zokm, sprak geen van allen me echt aan. Bovendien zijn veel componenten best duur.
Een beetje browsend op het internet kwam ik deze link tegen op BDN. Hoe simpel is het gebruik van StringReplace, maar hoe geavanceerd kun je hem inzetten. Met een template in ASCII (or whatever) en dan via een CreateOLEObject(‘Word.application’) de omgezette template in Word proppen. Ta-daaah!
Overigens is de objectstructuur van Word.application in Delphi zo goed als dezelfde als in VBA, dus als je de helpfile van Wordmacro’s bekijkt, dan kun je veel bijna 1 op 1 toepassen in Delphi.
Live can be sweet! 😀