Results 1 to 3 of 3

Thread: NLDTranslateUndo

  1. #1

    NLDTranslateUndo

    Ik heb een nieuw component toegevoegd aan de package: TNLDTranslateUndo. Uit de documentatie:
    Code:
      { TNLDTranslateUndo zorgt voor een iets andere afwikkeling van vertaling. In
        de standaard mogelijkheid wordt er voor iedere taal een XML bestand
        aangemaakt, met behulp van TNLDTranslateUndo is er een mogelijkheid terug
        te gaan naar de taal waarin het programma is ontwikkeld.
    
        Er wordt nog wel een XML bestand gemaakt voor de originele taal, maar daar
        staan alleen de teksten voor de GetMessage in. Op het moment dat de eerste
        vertaling wordt uitgevoerd wordt intern een XML bestand opgebouwd met de
        originele properties die worden veranderd, samengevoegd met het bestand
        dat aan TNLDTranslateUndo wordt gekoppeld.
    
        Het component maakt gebruik van de INLDTreeNotification om 'mee te lopen'
        met de manager zodat dezelfde nodes kunnen worden aangemaakt. De
        INLDExternalData interface wordt vervolgens gebruikt om de data te
        retourneren. }
    
    Gewijzigde bestanden:

    NLDReg
    Component toegevoegd

    NLDTranslate
    • INLDTreeNotification toegevoegd, inclusief implementatie
    • INLDExternalData toegevoegd, inclusief implementatie
    • procedure Hello toegevoegd, componenten kunnen zich hier aanmelden een aan de hand van hun interface(s) worden ze aan de diverse lijsten toegevoegd
    • 1x xmlNode := xmlNode.nextSibling verwijderd omdat dat naar mijn idee 1 te veel was. Zie ToDo


    Bijgevoegd zip bevat alleen de gewijzigde bestanden dan kan PsychoMark dit weer samenvoegen tot een nieuwe versie. Oh ja, jij bent een stuk beter in icoontjes dan ik (die van mij hebben allemaal een standaard Delphi icoon) wil jij je daar even uit uitleven?
    Attached Files Attached Files
    Marcel

  2. #2
    Senior Member PsychoMark's Avatar
    Join Date
    Nov 2001
    Location
    Raamsdonksveer
    Posts
    10,269
    Hartelijk bedankt, ziet er goed uit van wat ik zo even gezien heb, zodra ik de problemen met de nieuwe OpenXML versie heb opgelost haal ik de oude source en jouw source even door een Diff en zal ik dit integreren in de main distributie, inclusief icoontje .


    Ik zal misschien de code nog iets aanpassen qua stijl om netjes te integreren met de rest, is later makkelijker met onderhoud, vooral je leuke 'Hello' procedure is een goed voorbeeld van foute naamgeving, alhoewel erg komisch . Maar voorderest: een uitstekend idee, van wat ik tot nu toe zie zeker een leuke uitwerking, dus ontzettend bedankt!
    Qui custodiet ipsos custodes

  3. #3
    Een snelle update:

    NLDTranslate.pas, regel 1096, extra enter/exit om ApplyTranslationOwner:
    Code:
                  EnterNode(xmlNode.nodeName);
                  pTranslate.ApplyTranslationOwner(pAttr);
                  LoadSectionValues(pTranslate, xmlNode);
                  ExitNode;
    NLDTranslateUndo.pas, regel 79. Controle of node al bestaat
    Code:
      if FActiveNode <> nil then
      begin
        if FActiveNode.nodeName = NodeName then
          NewNode := FActiveNode
        else
          NewNode := FActiveNode.getFirstChildElement(NodeName);
      end
      else
        NewNode := FXMLDoc.documentElement.getFirstChildElement(NodeName);
    
      if NewNode = nil then
      begin
        NewNode := FXMLDoc.createElement(NodeName);
    
        if FActiveNode = nil then
          FXMLDoc.documentElement.appendChild(NewNode)
        else
          FActiveNode.appendChild(NewNode);
      end;
    Regel 113:
    Code:
      if SameText(ExtractFileName(FileName), ExtractFileName(FFileName)) and
    
    Marcel

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •