Het hol van de Code

1 oktober, 2007

TheCodeCave.com is achter

Filed onder: Brian Layman, Delphi, b5media - het 11:58 p.m. van Brian @

Hallo allen!

Herinner me?

Ik ben de kerel die vrij veel terug van het gezicht van de aarde in Mei verdween! Ik heb GRONDIG van mijn nieuwe baan bij b5media genoten. En er zijn soooooo te doen veel geweest bij b5 dat ik niet de tijd heb gevergd ik zou moeten hebben genomen om met u kerels te bezoeken. Toen ik bij b5 gepost blog begon was de telling 185 of iets in die aard. De telling is momenteel 260 blogs. Ja, hebben wij 75 nieuwe blogs in de laatste vier maanden toegevoegd. En er zijn veel meer blogs op hun manier.

Als resultaat van vijf maanden van pret en verminking (Heck, ben ik zelfs uit aan WordCamp geweest en avondmaal met Matte Mullenweg en de gehele automattic troep gehad). Ik heb ladingen van uiteinden met u, dingen te delen die ik heb geleerd om beter te doen. Wat me toelaat om dat te doen is dat wij net een groot nieuwe werknemer, Corey Shaffer hebben ingehuurd. Hij was mijn student voor de Zomer Google van 2007 van het project van de Code. Hij is een enorme hulp bij b5 geweest en uiteinde het evenwicht tussen de taken van dag tot dag geholpen om een bestaand netwerk van 22 dozijnen blogs en de behoefte aan voorwaartse vooruitgang mananging.

Zo, nu ben ik van mening dat ik wat tijd kan responsibly vergen om terug in de wereld WordPress op mijn opnieuw ook te worden. Oh ik heb nog uit andere met hun blogs geholpen. Ik hielp mijn zuster met een plaats voor de familie van mijn Broer in het legereenheid van de Wet: 298 Sandbandits. Ik hielp ook een vriend zijn eigen blog lopend krijgen: Iggy de Fietser. Maar ik heb veel voor enkel me niet gedaan.

Goed in Oktober, dat gaat veranderen. Ik begin de maand door terug naar mijn oude geprobeerd te vallen en waar en ik post een programma van Delphi dat ik vanavond heb geschreven. Het is een werkelijk eenvoudig programma dat ik ongelooflijk ga nuttig vinden.

Allen het doet is omgekeerd de schuine strepen van wat in het klembord is. Hoe is nuttig dat? Goed, in mijn opstelling I het werk in het vensterhelft van de tijd de van Telnet (SSH) en de helft van tijd I gebruikt SFTPDrive om de middelen b5media aan mijn lokale aandrijving in kaart te brengen. Goed wanneer ik in Telnet ben zouden mijn wegen als dit kunnen kijken: /var/www/blogname/.htaccess. Maar als ik wil stel open dat.htaccess- dossier in Notepad++, ik de weg moet veranderen om als y:\var\www\blogname\ .htaccess te kijken. Nu heb ik een eenvoudige manier om dat te doen. In feite gebruikte ik het enkel om de schuine strepen om te zetten. Ik heb een kortere weg aan dat programma over een auto-huid taskbar op de linkerkant van het mijn scherm. Zo klik ik het enkel en neem de schuine strepen een hoge vlucht word omgekeerd (opnieuw) als dit: /var/www/blogname/.htaccess. Dat is ontzagwekkende sooo.

En het was eenvoudige sooo. Ik heb dit voor leeftijden willen schrijven. Ik schreef het eigenlijk in Delphi 5 maar het werkte niet onder Uitzicht (dat op mijn laptop kwam). Ik heb nu het gebruikend de Studio 2007 herschreven van CodeGear rad (die eenvoudig ontzagwekkend is). En het werkt groot!

Hier is de code & exe in een pit: http://www.thecodecave.com/downloads/delphi/SlashFix.zip
programma SlashFix;

DELPHI:
  1. gebruik
  2. Vormen, Clipbrd, SysUtils;
  3.  
  4. {$R *.res}
  5.  
  6. var
  7. S: Koord;
  8. begin
  9. Application.Initialize;
  10. Application.Title: = De Moeilijke situatie van de Schuine streep `van TheCodeCave.com ';
  11. Application.Run;
  12. S: = Clipboard.AsText;
  13. als (pos (`/', S) > 0)
  14. dan S: = stringreplace (S, `/', `\ ', [rfReplaceAll])
  15. anders S: = stringreplace (S, `\ ', `/', [rfReplaceAll]);
  16. Clipboard.AsText: = S;
  17. eind.

Hier is exe slechts: http://www.thecodecave.com/downloads/delphi/SlashFix.exe

Natuurlijk wordt versie I gebruik een beetje geknepen om specifiek met mijn gemeenschappelijke taken bij b5 te werken en zal zelfs nog meer kweken. Ik ben zeker u ding van manieren kunt om de taken te automatiseren u elke dag op de zelfde manier doet.

Om het even welke manier, meer morgen. Er zijn een andere b5 blog die morgen lanceert, en ik moet somethinb befor knijpen het lanceert. Hier kunt u het controleren: http://www.LadiesCourt.com/ wat allen over het basketbal van Vrouwen is. Ik wens enkel dat de Tuimelschakelaars van Cleveland nog rond op het moesten worden gekenmerkt. Mijn jonge geitjes gingen naar een aantal Cleveland spelen van Tuimelschakelaars en wij hebben nog wat embleemmateriaal rond hebben.

9 mei, 2007

Delphi voor PHP werkt Klappen 1 bij de straten

Filed onder: Delphi voor PHP - het 12:57 p.m. van Brian @

De O.K. mensen, zijn de langverwachte update bevrijd van het bèta testen.

U kunt het net hier worden zelf: http://dn.codegear.com/article/36406

Er zijn sommige goede moeilijke situaties in dit.  Grote voor de meeste mensen zal de moeilijke situatie van de inputfilter zijn.  Voor velen zal schoonmaakbeurt utf-8 een god verzendt zijn.  De kneepjes van de plaatsing zijn ook inbegrepen.

In feite hier is de volledige lijst:

  • Moeilijke situatie aan winde om correcte opslag van utf-8 koorden in .xml.php te verzekeren
  • Moeilijke situatie aan VCL voor PHP om .xml.php op wijze te ontleden utf-8
  • Sparen Project zoals… vast (QC 43580)
  • Bijgewerkte sourcecode documentatie voor VCL
  • Vast probleem met PHP 5.2.1. De uitbreiding van de Filter van de Input is uit bèta en functie voor filtergegevens was veranderd in een nieuwe naam, zodat neemt het Ingevoerde voorwerp nu dat in overweging (QC 43607)
  • Vast probleem met vcl-bakomslag. De alias wordt geplaatst om alias een wortel te zijn die, het gemakkelijker maakt om op plaatsing te vormen
  • Toegevoegde globale te specificeren var als de eigenschappen zijn html_decoded wanneer gelezen van .xml.php
  • Verbeterd de lijst.txt van de steuntelefoon dossier

Geniet van!

30 april, 2007

Zoete Linus Benedict Turvalds, werk ik van huis!

Filed onder: Borland, CodeGear, Delphi, het 11:50 p.m. van WordPress - van Brian @

De oude mijn lezers van mijn zouden een verdenking kunnen gehad hebben.  U ziet wanneer ik groot iets die kan spreken ik niet over heb, krijg ik streng schrijversblok.  Ik kan niet over wat spreken ik wil spreken over zodat ga ik van een één tot twee kwaliteits post een dag periode neer naar NOTHIN drie weken!

Goed dit keer was het zeer groot!  Na een 17+ jaarcarrière als programmeur van Delphi, ben ik een nieuwe carreer begonnen.  Vandaag mijn eerste dag werkte voor b5media.  Ik ben nu één van een steeds groter aantal van professioneel makend mijn het leven van WordPress, PHP en andere programmering van Open Source. Zo, begin de dag, breek ik de dag van stilte in blogosphere met een post over vreugde en succes.  Dat schijnt een het passen herinnering.  Vooruitgang en fullfilment eerder dan stilte.

U kunt de officiële aankondiging hier lezen: „Brian Layman Joins Tech Team „.  Het allen begon net iets meer dan vier weken geleden toen ik een vraag van Aaron Brazell kreeg.  Het was sindsdien een snelle wervelwind.  Ik zal u allen over mijn reis aan Canada, dozijn of zo lazaruze auto's, de vlammende auto van noodlot, allen over b5media en andere het opwekken zoetigheden in de loop van de volgende dagen vertellen.  Er zijn ladingen van firsts en vooruitgang die voor Delphi voor PHP voorzijde in de loop van de laatste twee weken worden geboekt geweest ik waarover ook zal posten.

Voor nu, niettemin, wilde ik enkel het goede nieuws delen!

En Oh ja, liet ik mijn vrouwen lepel het verhaal.  Zij was soo die over de kans wordt opgewekt om een lepel te krijgen!  Nr, Aaron, dat pic niet van vandaag, maar een maand of zo geleden was.  Maar ik maak geen beloften ik niet daar ooit… zal zijn

Zie ook: Mijn gesprek met b5media

20 april, 2007

Vang een beeld aan a paletted volledig bitmap

Filed onder: Het 4:56 p.m. van Delphi - van Brian @

Deze code kijkt niet als het was oorspronkelijk mijn, maar ik vond het in een verdwaald dossier op mijn harde aandrijving.  Ik besliste ik niet het wilde verliezen. 

 Het neemt een beeld van om het even welke component u binnen overgaat en bevolkt een TBitmap met een beeld gebruikend een douanepalet dat van apparatencontext wordt gebouwd van de component u vangt.

DELPHI:
  1.  
  2.  
  3. {******************************************************************************
  4.   ComponentToImg
  5.  ******************************************************************************}
  6. procedure TForm1.ComponentToImg (CHandle: HWND; x: Geheel; y: Geheel; Breedte: Geheel; Hoogte: Geheel; BM: TBitMap);
  7. var
  8.   gelijkstroom: HDC;
  9.   lpPal: PLOGPALETTE;
  10. begin met // ComponentToImg
  11.   // de breedte en de hoogte van de Test
  12.   als ((Breedte = 0) OF (Hoogte = 0)) dan uitgang;
  13.   BM. Breedte: = Breedte;
  14.   BM. Hoogte: = Hoogte;
  15.  
  16.   // krijgt het scherm gelijkstroom
  17.   gelijkstroom: = GetDc (CHandle);
  18. probeer
  19. // als het apparaat geen handvat heeft, kunnen wij niet om het even wat met het doen.
  20.   als (gelijkstroom = 0) toen uitgang;
  21.   // hebben wij een paletapparaat?
  22.   als (GetDeviceCaps (gelijkstroom, RASTERCAPS) EN RC_PALETTE = RC_PALETTE)
  23.   dan begin
  24.     // als zo, wijst geheugen voor een logisch palet toe
  25.     lpPal GetMem (, sizeof (TLOGPALETTE) + (255 * sizeof (TPALETTEENTRY)));
  26.      probeer
  27.         // Nul het keurig uit om te zijn
  28.         FillChar (lpPal^, sizeof (TLOGPALETTE) + (255 * sizeof (TPALETTEENTRY)), #0);
  29.         // vult de paletversie in
  30.         lpPal^.palVersion: = $300;
  31.         // Greep de ingangen van het systeempalet
  32.         lpPal^.palNumEntries: =GetSystemPaletteEntries (gelijkstroom, 0, 256, lpPal^.palPalEntry);
  33.         // leidt tot het palet
  34.         als (lpPal^.PalNumEntries < > 0) toen BM. Palet: = CreatePalette (lpPal^);
  35.       tot slot
  36.         lpPal FreeMem (, sizeof (TLOGPALETTE) + (255 * sizeof (TPALETTEENTRY)));
  37.       eind;
  38.   eind;
  39.   // Exemplaar van het scherm aan bitmap}
  40.   BitBlt (BM. Canvas.Handle, 0, 0, Breedte, Hoogte, Gelijkstroom, x, y, SRCCOPY);
  41.  
  42.   // Versie het scherm gelijkstroom geen kwestie wat hierboven gebeurde.
  43. tot slot
  44.   ReleaseDc (0, gelijkstroom);
  45. eind
  46. eind;  // ComponentToImg
  47.  
  48. procedure TForm1.Button1Click (Afzender: TObject);
  49. begin
  50.   ComponentToImg (zelf. Handvat, 0, 0, 800, 600, Image1.Picture.Bitmap);
  51. eind;

3 april, 2007

Een niet-CodeGear octrooitoepassing bij „het compileren van“ de code van Pascal van Objecten?

Filed onder: Borland, CodeGear, het 8:12 p.m. van Delphi - van Brian @

Ik las vandaag in de Nieuwsgroepen dat er een nieuw octrooi is dat wordt ingediend dat beïnvloedt welke Borland met Voorwerp Pascal kan doen.  Volgens deze octrooitoepassing, Mirkazemi; Aram; (Lindisfame, Au); Besharati; Shahram; (Het Strand van Kingston, Au) een V.S.- octrooi op het veroorzaken van code JavaScript van het Voorwerp Pascal van Delphi en verscheidene andere talen zou hebben

Who weet of zal dit vliegen, maar het idee van het beperken van wat een bedrijf met het product kan doen dat zij zijn enkel…. hebben gemaakt  het irratating!

Een zeer belangrijk citaat van de octrooitoepassing:

9. Een methode om een Webtoepassing te veroorzaken die natively in browser loopt, bestaand uit: het schrijven in een hogere programmeertaal om een brondossier te ontwikkelen; het ontleden van het brondossier om een semantische kaart te produceren; en verwerking de semantische kaart door browser-zijJavaScript uit te zenden bestaand minstens uit één verzender die een reeks parameters heeft om een codesegment aan te halen dat de zelfde reeks parameters gebruikt.

10. De methode van eis 9 waarin de hogere programmeertaal uit een hogere programmeertaal van onder de programmeertalen bestaat die uit Ada bestaan, C, C++, C#, COBOL, Gemeenschappelijke ColdFusion, lispeelt, Delphi, Fortran, Java, Voorwerp Pascal, SmallTalk, Visuele Fundamentele, en Visuele Basic.NET.  

Zo, zal dit programma alle van Bron Delphi code en vormen nemen en zal hen in een Web app in javascript omzetten.

 Eerst, denk ik het dolkomisch om is te horen javascript beschreven als lage taal, maar dat is naast het punt.

Als Borland javascript als doel wilde verstrekken, aangezien zij .NET en W32 doen, zouden zij MOETEN worden toegestaan aan.  Het is HUN product.  Zij natuurlijk het werk moeten doen zelf zouden, maar het is een programmeertaal die zij hebben gemaakt.  Waarom zouden zij moeten worden beperkt?  Vooral wanneer zij aardige mensen en toegestane programma's zoals Vrije Pascal het voordeel van de innovatie van Delphi zijn geweest.

 BAH!  Het zal waarschijnlijk met een rubberzegel van goedkeuring overgaan.

CodeGear noemt Nieuwe CEO

Filed onder: Borland, CodeGear, het 5:11 p.m. van Delphi - van Brian @

Marco ving een interessant verhaal in InfoWorld, vandaag.

Zoals EWeek zegt:

De eenheid van de ontwikkelingshulpmiddelen van CodeGear van de Software van Borland heeft leiding veranderd, die Jim Douglas, een veteraan noemt van de high-tech industrie, in de positie van presidentambtenaar.

Jim Douglas zal vroegere CEO Ben Smith vervangen die CodeGear in bestaan leidde.  EWeek gaat verder:

Smith, die voor zijn capaciteit werd gebracht om opstarten door hun beginfasen en makelaarsovereenkomsten te bevorderen, heeft beslist opzij te stappen om aan de privé gelijkheid, aanwinsten en ondernemingsarena, bovengenoemde ambtenaren terug te keren CodeGear. Smith was aan boord met het team CodeGear geweest, dat dan als „DevCo“, in een het raadplegen capaciteit sinds Februari 2006 intern wordt bekend.

Ongeveer Douglas dat zij hebben gezegd: 

Douglas onlangs was voorzitter en CEO van ReShape, een elektronisch opstarten van de ontwerpautomatisering dat door het risicodragend kapitaal vast New Enterprise Associates wordt gesteund. Douglas leidde de overgang van het bedrijf van een de techniek-diensten firma tot een software-zaken model. Deze inspanningen resulteerden in de verkoop van het bedrijf aan de Automatisering van het Ontwerp van het Magma.  

Zo, moest Smith daar CodeGear beginnen, en Douglas moet nu daar CodeGear in de toekomst leiden.  Ik ben wat benieuwd andere veranderingen in de wind zijn.  Duidelijk, met dit nieuwe kwart, zijn er het gaan een nieuwe reeks uitdagingen dat zijn Douglas om de juiste onder ogen te zien man wordt verondersteld te zijn.  Duidelijk 's nachts gebeurt dit soort ding niet.  Zo, is mijn vraag wat het volgende ding is dat wij aangezien CodeGear vooruit marcheert zal zien?

Hoe te om een centrale VCL voor PHP plaats voor al uw websites te hebben

Filed onder: Delphi voor PHP, PHP - het 12:52 am van Brian @

Ik heb een aantal plaatsen die op welk ik VCL voor PHP bibliotheekcomponenten met Delphi voor PHP verwezenlijkingen wil gebruiken.  Ik wil niet verspillen uneeded ruimte want een bazillion van VCL kopiÃërt.  Voor zover dat gaat, wil ik niet door de plaatsingstovenaar moeten elke keer ook niet zitten.

U kon PHP.ini uitgeven en de plaats toevoegen aan uw omvat weg, maar VCL voor PHP is meer dan enkel een tekstuele codebibliotheek.  Het omvat beelddossiers eveneens, voor dingen zoals de dropdown pijl in de combovakjes.

 Zo wat is een persoon om te doen?  Goed, is het eenvoudig.  CreÃër sommige symbolische verbindingen!

Zet enkel VCL in uw wortelfolder of minstens die met een gemeenschappelijke weg van de uw websitefolders kunnen worden betreden.  Ik gebruik de wortel aangezien ik ~ kan gebruiken om bij het gemakkelijk op linux te worden.  Het kon enkel zoals gemakkelijk /usr/local/lib/vcl of d:\VCL zijn.  Dan in uw folders zet u enkel twee symbolische verbindingen, genoemde één vcl en de andere genoemde vcl-bak. Allebei die aan de vclfolder u richten maakten.

Hier is geleidelijk voor systemen *nix:

  1. Upload de gehele omslag VCL aan de folder van het wortelWeb
  2. Telnet/ssh op de rekening
  3. Verandering in de folder voor uw website
  4. Stel deze twee bevelen in werking
    1. ln ~/vcl
    2. ln vcl-bak ~/vcl
  5. Herhaal stappen 3 en 4 voor elk van uw plaatsen.
  6. Wanneer u opstelt, grijp enkel de dossiers in uw projectfolder en upload hen.  Geen het ongerust maken zich over VCL meer.  U zou een partijdossier moeten kunnen maken dat die stap doet!

Dat is het (oh en enkel desgevallend uw doopvont maakt „ln“ hard aan readand die kleine letters „LN“ zoals in verbinding. is)

 Voor Vensters, zou u het zelfde ding moeten kunnen doen.  Als u Uitzicht hebt hebt u inheems steunt voor symbolische verbindingen.  En in XP, kunt u verbindingen gebruiken NTFS.  Maar ik zal het tot u om omhoog die technologieën verlaten te kijken.  Met die soort ding, als u niet om te verteren hoe te om het kunt te vinden en te doen, bent u beter van enkel gebruiken opstelt waarschijnlijk hulpmiddel.

 Hoop dit iemand helpt!  Het heeft mijn leven een weinig gemakkelijker gemaakt.

De Implementatie van vensters

Kevin Berry kwam met deze venstersimplementatie: op de proppen

Voor mijn Vensters 2000 is webserver, ik totale acces waaraan heb, hieronder hoe ik volgde de raad van de Leek van Brian aan dit werk maakte.

1. Gedownloade linkmagic.exe van
http://users.pandora.be/jbranders/linkmagic.exe

2. Stelde linkmagic.exe (opstellingsprogramma) op mijn webserver in werking.

3. Het gelanceerde Magische programma van de Verbinding van de Verbinding.

4. GecreÃërde lege „vcl“ omslag in mijn omslag van het klokproject in mijn webserverwortel (c:\web\htdocs\clock\vcl) en geselecteerd deze vclomslag als mijn verbindingsomslag.

5. Selecteerde mijn ware vclomslag die met vcldossiers als mijn bestemmingsomslag wordt geladen (c:\web\vcl)

6. Geklikt „creÃër“ knoop

Nu stelt mijn D4PHP programma van de kloksteekproef enkel boete in c:\web\htdocs\clock met slechts één hoofdvclinstallatie op in werking mijn webserver.

Ik veronderstel ik het Magische programma van de Verbinding van de Verbinding kon gebruiken om de nieuwe omslagen van de vclverbinding in andere subfolders van het vclproject op mijn webserver te creëren, maar ik ontdekte dat zodra de eerste vcl verbindingsomslag wordt gecreÃërd, ik kan meer van deze creëren die enkel langs een bestaande vcl verbindingsomslag kopiëren in een nieuwe projectomslag en kiezend annuleer wanneer het dossier herinnering verschijnt beschrijft. Als ik een het puntomslag van de vclverbinding schrap, worden de echte omslag en zijn dossiers niet geschrapt.

Ik wil geen verschillende versies van mijn vcl helemaal over mijn webserver in verschillende omslagen die (zal ik veel someday Webprojecten hebben veronderstellen). Voor me is het enkel het eenvoudigst kennend recentste en grootste vcl bibliotheek is altijd in één vlek op mijn Webserver.

Ik weet niet of kon men de folderstructuur van een vensters ontvangen Web van een verre server op zijn eigen computer dupliceren om de verbindingsomslag en dan FTP uit tot stand te brengen die verbindingsomslag aan de verre server en redirection te bewaren. Als zo, zou dat groot zijn.

Voor mijn webserver, is dit vrij handig, dankt opnieuw aan Brian voor de alternerende actie tot Codegear/Qadram berekenen wat ik om een betere methode van de vclplaatsing hoop te zijn.

Alternatieve Oplossing

David Plock stelde ook een andere methot voor die een alias vcl-BAK gebruikt. Jose Leon Serna verstrekte de definitieve moeilijke situatie om dit het werken te krijgen. Kevin heeft een groot werk van de bijwerking van eveneens deze stappen gedaan:

c:\web\htdocs en ik wilde mijn omslag VCL buiten de wortel, zodat maakte ik c:\web\vcl.

2. In mijn van Apache httpd.conf- dossier, voegde ik de volgende alias lijn en foldertoestemmingen toe. Voor nu, kopiÃërde ik enkel de toestemmingen het pictogram
de omslag gebruikt enkelen opstelt. Iedereen meer geïnformeerdp is welkom om een meer aangewezen toestemming voor te stellen die voor de vclomslag wordt geplaatst. En natuurlijk, als u
zet uw vclomslag binnen de wortelfolder van uw Webserver, kunt u de foldertoestemmingen overslaan.

/vcl-bin alias „c: /web/vcl“


De Indexen MultiViews van opties
AllowOverride niets
De orde staat toe, ontkent
Sta van allen toe

3. In mijn php.ini- dossier voegde ik het volgende toe zodat php waarin omslag zal weten om de vclomslag te vinden.

include_path = „. ; c:\web“

Als ik mijn vclomslag in mijn wortelfolder op mijn webserver had gelaten vallen, zou de ingang geweest zijn:

include_path = „. ; c:\web\htdocs“

4. Jose voegde het definitieve stuk toe om dit werk te maken. In mijn vcl.inc.php- dossier wijzigde ik een lijn zodat de aliasnaam die behoorlijk tot mijn webserver wordt overgegaan wordt. De lijn die vcl-bak vermeldt vergt een voorwaartse schuine streep voor vcl-bak zodat verschijnt de definitieve lijn als dit:

als (! array_key_exists ('FOR_PREVIEW',$_SERVER)) $http_path='/vcl-bin';

5. Zorg ervoor alle veranderingen van het configuratiedossier hierboven worden bewaard en dan webserver opnieuw beginnen.

Nu kunt u D4php- projecten in om het even welke subfolders of zelfs subfolders van subfolders van uw wortelfolder op uw webserver laten vallen en zij werken.

Het aardige ding over deze oplossing naast het die één enkele vclplaatsing is is dat het aan me om het even welk Web hoster kan eens uitvoeren het voor schijnt
de volledige Webserver en om het even welke abonnees kunnen eenvoudig FTPD4php- Webdossiers aan hun eigen omslagen op de server en zij zullen werken.

Dankt Brian, David, en Jose voor twee manieren om één enkel werk van de vclplaatsing te maken!!!

Als u deze oplossing in actie wilt zien, kunt u deze verbindingen (op mijn langzame webserver) bezoeken zolang mijn Internet dienstverlener mijn ip adres alleen verlaat. De vclomslag is buiten de Webwortel en slechts clock.php, clock.xml.php, en background.gif is in elk van deze omslagen.

http://24.2.90.16/clock.php
http://24.2.90.16/clock/clock.php
http://24.2.90.16/clock/clock/clock.php
http://24.2.90.16/clock/clock/clock/clock.php

Er u zijn. Twee verschillende methodes bewezen op het gebied succesvol! Geniet van!

2 april, 2007

VCL is 4 PHP broncode gecontroleerd in SourceForge

Filed onder: Delphi voor PHP - het 4:56 p.m. van Brian @

Hier gaat u:

http://sourceforge.net/project/showfiles.php?group_id=189419

 Iedereen geeft om een controle uit te doen en vergelijkt het dossier om welke veranderingen er te zien zijn?

1 april, 2007

Wahoo! Ik deed het! Het laatste deel van een wp-DB.PHP voor Interbase/Firebird

Filed onder: Delphi voor PHP, Firebird, het 9:10 p.m. van Interbase - van Brian @

Ik wist 9 jaar van ervaring IB/FB in handig zou komen.

wp-db is de minilaag van de gegevensbestandabstractie voor WordPress. Het staat u om WordPress op divers gegevensbestand toe in werking te stellen. Op dit ogenblik is MySQL vrij veel het, maar sommige mensen hebben een versie PostgreSQL eveneens gedaan. 

Goed, wilde ik het met een Interbase db voor de blog omzetting verbinden .TEXT ik heb gedaan.  Ik ga geen WordPress van Interbase weg in werking stellen nog, maar het vereenvoudigde de invoer voor me in gebruiks wp-OB voor mijn verbinding van de gegevensbestandinvoer.

Het is interessant om op te merken dat ik aan het punt ben gekomen waar de andere redacteurs die ik voor PHP code net heb gebruikt net anymore niet voelen. Delphi voor PHP voelt enkel beter nu voor het uitgeven.  Ik deed geen het visuele ontwerpen daarin, maar het was nog een aardige snelle redacteur met de extra hulp van wenken en parameters.  Misschien als ik Zend had, zou ik met dat voor niet visueel materiaal, als ik aan het werd gebruikt, ik het weet niet plakken.  Ik heb het niet.  Ik probeerde het eens en vond het te voor mijn behoeften omvangrijk.  D4PHP met alle ontwerp gesloten voelt de dozen, nog licht en heeft een snelle open tijd.

In elk geval, was het grootste deel van de omzetting vrij gemakkelijk. Ik moest enkel ibase_ php substitueren verzoek mysql_ vraag.  Ik moest een kleine schoonmaakbeurt voor behandeling van lege koorden en citaten en sommige gereserveerde woorden IB zoals type, rol, wachtwoord, en enz. toevoegen.  Maar het werkelijk probleem was dat WordPress zich zwaar op de eigenschap baseert InsertID die vele gegevensbestanden hebben.  Het keert de laatste waarde van het autoincgebied in terug de lijst die door het laatste tussenvoegselbevel van verwijzingen wordt voorzien.  IB/FB heeft geen equivelent.  PHP documentatie wees niet op om het even welke oplossing werd verstrekt. En alle lagen van gegevensbestandabstration steunen ook niet het niet daar.

Zo, heb ik het werk rond gedaan.  Het is misschien daar geen 100% nauwkeurig voor alle gegevensbestandenconfiguraties, maar het zou voor WordPress en .TEXT moeten werken. 

Zie, moest de truc de primaire sleutel voor de lijst vinden u aan werkt.  Zo, eerste moest ik vinden welke tabel 1 werkte.  Ik had de SQL verklaring van het TUSSENVOEGSEL, zodat alle moest ik doen was vondst de lijstnaam na de woorden „TUSSENVOEGSEL IN „.  Boete.  Er is een bos van manieren om dat te doen.

Daarna, bewapend met de lijstnaam, moest ik de primaire sleutel vinden.  Hoe doe ik dat met enkel de bevelen beschikbaar aan PHP?  Dat was het netelige deel. 

Gelukkig, is IB/FB een relationele gegevensbank.  Dat in korte middelen de lijsten zijn allen opgeslagen in stukken en brokken door het gegevensbestand dien en dan samen terug verbonden volgens de structuurinformatie die in „verborgen“ lijsten wordt opgeslagen in.

Lang en kort van het is dat deze verklaring u zal geven wat nodig is:

SQL:
  1. SELECTEER RDB$RELATION_CONSTRAINTS.RDB$RELATION_NAME, RDB$INDEX_SEGMENTS.RDB$FIELD_NAME, RDB$INDEX_SEGMENTS.RDB$FIELD_POSITION
  2. VAN RDB$RELATION_CONSTRAINTS, RDB$INDEX_SEGMENTS
  3. WAAR
  4. RDB$RELATION_CONSTRAINTS.RDB$CONSTRAINT_TYPE = `PRIMAIRE KEY EN
  5. RDB$INDEX_SEGMENTS.RDB$INDEX_NAME=RDB$RELATION_CONSTRAINTS.RDB$INDEX_NAME
  6. ORDE DOOR RDB$RELATION_CONSTRAINTS.RDB$RELATION_NAME, RDB$INDEX_SEGMENTS.RDB$FIELD_POSITION

In WordPress en .TEXT was elk gebied AutoInc ik bekeek het eerste gebied in de lijst.  Zo, nu bewapend met de lijstnaam, en autoinc gebied, is het een eenvoudige vraag om de hoogste waarde te krijgen, die het meest recente tussenvoegsel zou moeten zijn tenzij er één of ander soort corruptie zijn geweest.

Zodat enkel uitgezochte Maximum (fieldname) van tablenameverklaring is en ik de waarde terugkeer die ik op gebied één heb gevonden die (behandelt een leeg natuurlijk geplaatst resultaat). 

 Hey - het is niet mooi, maar het zou 100% van de tijd voor mijn gebruik moeten werken.  Als het, zal ik het aan ADOdb voorleggen en zal zien wat zij denken.  Aangezien ADOdb een kerndeel van Delphi voor PHP project is, zou ik mijn snuifje van code inbegrepen kunnen krijgen!  Eigenlijk, hoop ik om tot VCL voor PHP long before dan bij te dragen.

 O.K., hebben de ogen van iedereen verglaasd over maar het is nog vrij koele eerlijk!

Één of andere basisPHP verzoekt gebruik in Delphi voor PHP of zuivere PHP

Filed onder: Delphi voor PHP - het 6:33 p.m. van Brian @

Ik deed vandaag wat codage en kon niet sommige routines vinden die ik in het verleden vaak heb gebruikt.  Aangezien ik naar hen moest zoeken, uitvoerend mijn regel, worden zij hier gepost.  Misschien kunnen zij van gebruik aan anderen zijn.  Dit zijn voorbeelden die ik heb geschreven en zodra ik heb verzameld en aangepast.  Ik heb geen commentaren in droevig het grootste deel van deze routines gezet.

(DIT IS EEN HET LEVEN POST EN ZAL PERIODICALY VERANDEREN AANGEZIEN IK ANDERE GEMEENSCHAPPELIJKE ROUTINES BLOOTLEG)

Maak een serie van alle kwetsbaarheid schoon:

PHP:
  1. functie strip_and_slash_deep ($value) {
  2. is_array terugkeer ($value)?
  3. array_map ('strip_and_slash_deep', $value):
  4. strip_tags ($value);
  5. addslashes ($value);
  6. }

Gebruik:

PHP:
  1. $protected_post_vars = serie ();
  2.  
  3. $protected_post_vars = strip_and_slash_deep ($_POST);

Mijn print_rvervanging om een serie in op volle diepte te drukken:

PHP:
  1. print_array functie ($array) {
  2. als (is_array ($array))
  3. {
  4. terwijl (lijst ($key, $val) = elk ($array))
  5. {
  6. als (is_array ($val))
  7. {
  8. terwijl (lijst ($akey, $aval) = elk ($val))
  9. {
  10. $array [$key] [$akey] = strip_tags ($aval);
  11. echo „Serie: „. $key. „=“. htmlspecialchars ($array [$key] [$akey]). „< br/> “;
  12. }
  13. }
  14. anders
  15. {
  16. $array [$key] = strip_tags ($val);
  17. echo „Val: „. $key. „=“. htmlspecialchars ($array [$key]). „< br/> “;
  18. }
  19. }
  20. }
  21. anders druk ($array);
  22. }

Basis structuur voor het gebruiken van PHP om met een interbase of firebird een gegevensbestand te verbinden:

PHP:
  1. functie ib_execsql ($sql) {
  2. $aresult = serie ();
  3. $fulldbpath = „localhost: d:\b lah.gdb“;
  4. $username = „sysdba“;
  5. $password = „masterkey“;
  6. $ib = ibase_connect ($fulldbpath, $username, $password, `NONE', `100 ′, `1 ′);
  7. als ($ib===false) echo „Geen Verbinding“;
  8. $result = @ibase_query ($ib, $sql);
  9. als ($result===false) echo „< hr/> Fout `“ .ibase_errmsg (). „`terwijl het uitvoeren van `“. $sql. „`< hr/> “;
  10. terwijl ($row = ibase_fetch_row ($result)) $aresult [] = $row;
  11. ibase_close ($ib);
  12. terugkeer $aresult;
  13. }

gebruik:

PHP:
  1. $array = ib_execsql („selecteer * uit wat“);
  2. print_array ($array);

Stel één enkele vraag over vele gegevensbestanden op de zelfde server MySQL in werking:

PHP:
  1. functie execdbsql ($databasename) {
  2. $link = mysql_connect (`SERVERNAME', „GEBRUIKER“, „PAS“);
  3. als (! $link) {
  4. matrijs (`kon niet verbinden: `. mysql_error ());
  5. }
  6.  
  7. mysql_select_db ($databasename);
  8.  
  9. $result = mysql_query (UITGEZOCHTE `desiredfield VAN tablename waar field= " keyvalue " ');
  10.  
  11. als (! $result) {
  12. terugkeer;  // fout uit slaat enkel dit gegevensbestand niet over.
  13. }
  14.  
  15. echo mysql_result ($result, 0). „< br/> “;
  16.  
  17. mysql_close ($link);
  18. }
  19.  
  20. echo „Waarden: < br/> “;
  21.  
  22. execdbsql (`firstdb');
  23.  
  24. execdbsql ('seconddb');
  25.  
  26. execdbsql (`thirddb');

Nieuwere Posten“

Aangedreven door WordPress