Arnoud Posted July 4, 2005 Posted July 4, 2005 Voor mijn mediabase sla ik referenties van media files op. De bedoeling is dat de Artiest en de Titel uit de string gehaald worden. De Artiest en Titel zijn altijd gescheiden door een underscore. Ik ben al zover: Artiestnaam_Titelnaam Met welke 2 calculaties krijg ik dit voor elkaar? gr. Arnoud Quote
0 Rony Rabijns Posted July 4, 2005 Posted July 4, 2005 Stel dat je bronveld REFERENTIE is. Dan zou het kunnen op deze manier : Artiest = Left ( Referentie ; Position(Referentie;"_";0;1) - 1 ) Titel = Substitute ( Referentie ; Artiest & "_" ; "" ) Quote
0 AvD Posted July 4, 2005 Posted July 4, 2005 Rony gebruikt natuurlijk de Position-functie. Meer uitleg over hoe dat werkt, vind je hier: http://www.avd-ci.be/tip215.htm, ook nog in de links onderaan die bladzijde. Quote
0 Arnoud Posted July 4, 2005 Author Posted July 4, 2005 Stel dat je bronveld REFERENTIE is.Dan zou het kunnen op deze manier : Artiest = Left ( Referentie ; Position(Referentie;"_";0;1) - 1 ) Titel = Substitute ( Referentie ; Artiest & "_" ; "" ) Prachtig, gelijk overgenomen en het werkt. En belangrijker nog: weer wat geleerd, thx. Vraagje: de startwaarde van de POS heb je op 0 gezet. Heb je hier een bedoeling mee? Volgens mij is 1 ook altijd goed. @ AvD: heel instructief. Aanvullende vraag: hoe geef ik een dubbele quote (") weer als tekst in een calculatie. Er staat me iets bij dat AvD hier ooit eens iets over heeft opgemerkt, dubbele quotes of zo, maar krijgt het niet aan de praat. Quote
0 AvD Posted July 4, 2005 Posted July 4, 2005 Laat de aanhalingstekens die je nodig hebt voorafgaan door dubbele aanhalingstekens: Deze formule "Hond spreekt tot kat op deze manier: " & """Dag Kat""" geeft: Hond spreekt tot kat op deze manier: "Dag Kat" Quote
0 Arnoud Posted July 4, 2005 Author Posted July 4, 2005 Dus dat met die dubbele quotes was nog blijven hangen. Ik bedoel eigenlijk iets anders. cVELDREFERENTIE is een calculatieveld die AvD (zonder quotes) als uitkomst geeft. Vervolgens wil ik uitgaande van cVELDREFERENTIE een nieuwe calculatie maken die de uitkomst van de voorgaande calculatie voorziet van quotes, aldus: "AvD" Hoe gaat dat in zijn werk? Dus wat in de calculatie geeft als uitkomst: '' Wellicht ben ik de tel kwijt geraakt met al die quotes! Quote
0 AvD Posted July 4, 2005 Posted July 4, 2005 Dat is dan toch een gewone concatenate van """"" met Veldnaam met """"". Quote
0 Gido_ Posted July 4, 2005 Posted July 4, 2005 Probeer eens """" Ik dacht dat dat één quote opleverde (ipv de schijnbare 2) Quote
0 Rony Rabijns Posted July 4, 2005 Posted July 4, 2005 Quote(veld) geeft ook "veld" of "Met de backslash kan je ook quotes genereren : \"" & Veld & "\"." Quote
0 Arnoud Posted July 4, 2005 Author Posted July 4, 2005 Ik heb het nog niet een keer goed kunnen laten werken met losse quotes. Quote(veld) werkt wel als een speer, gelukkig. Dan nog de volgende vraag: cMediaFileRef= file:../../../../../MediaBase/Julio Iglesias_La Carratera.mp3 filewin:/C:/MediaBase/Julio Iglesias_La Carratera.mp3 cMediaFileExt = Right ( Replace (RightValues (cMediaFileRef ; 1 ) ; 1 ; 9 ; "" ) ; 4 ) resultaat= mp3 (zonder quotes) Ik krijg alleen 'mp3' als ik 4 in vul in de Right formule terwijl het volgens mij toch echt 3 moet zijn. Test ik het uit met wat tekst dan werkt 3 goed. How come? Quote
0 AvD Posted July 4, 2005 Posted July 4, 2005 Ik heb het nog niet een keer goed kunnen laten werken met losse quotes. Dat begrijp ik niet. Je gebruikt gewoon dubbele quotes om aan te geven dat de quotes daartussen letterlijk moeten genomen worden. Je tikt dus vijf quotes na elkaar in plus de concatenate van het veld: """"" & Veldnaam & """"" Als je dat ingetikt hebt, en je klikt op OK, dan wijzigt FileMaker dat zelf in """ & Veldnaam & """ Als dan in het veld genaamd Veldnaam bijvoorbeeld Brussel staat, dan geeft het calc field "Brussel". De Quote-functie werkt natuurlijk handiger, maar het stoorde me dat je de eerste methode niet aan de praat kreeg. Of heeft het iets te maken met de Unicode-waarde van de quotes op een QWERTY-toetsenbord? Dat wilde ik wel graag weten! Quote
0 Arnoud Posted July 4, 2005 Author Posted July 4, 2005 De Quote-functie werkt natuurlijk handiger, maar het stoorde me dat je de eerste methode niet aan de praat kreeg. Of heeft het iets te maken met de Unicode-waarde van de quotes op een QWERTY-toetsenbord? Dat wilde ik wel graag weten! Ik neem aan dat je het nog steeds wilt weten Ik heb jouw code gepaste in de calculatie en Brussel ingetikt in het veld (ik dacht misschien brengt dat geluk..). RESULTAAT: "" & Veldnaam & "" Als ik het zelf intik dan accepteert Filemaker de code niet. Ik heb een Logitec UltraX keyboard [QWERTY]. Quote
0 AvD Posted July 4, 2005 Posted July 4, 2005 Nou breekt mijn... En als je de quotes niet intikt, maar aanklikt in het dialoogpaneel? Dit is toch wel straffe kost! Quote
0 Rony Rabijns Posted July 4, 2005 Posted July 4, 2005 cMediaFileRef= file:../../../../../MediaBase/Julio Iglesias_La Carratera.mp3 filewin:/C:/MediaBase/Julio Iglesias_La Carratera.mp3 .... Ik krijg alleen 'mp3' als ik 4 in vul in de Right formule terwijl het volgens mij toch echt 3 moet zijn. Je hebt een spatie achter de eerste MP3 staan. Vandaar dat je 4 moet ingeven. "" & Veldnaam & "" Als ik het zelf intik dan accepteert Filemaker de code niet. Arnoud, Dit hoort wel geaccepteerd te worden door FM, maar het geeft je zeker geen quotes rond de veldnaam ! Dat kan dus samengevat als volgt : Quote(veld) of """ & veld & """ Quote
0 Arnoud Posted July 4, 2005 Author Posted July 4, 2005 @Rony: "" & Veldnaam & "" wordt geaccepteerd, uiteraard zonder quotes. Overigens zijn er ook vreemde dingen met die Quote functie. Gewoon tekst in vullen tussen de haakjes werkt goed. Maar: "C:/MediaBase/01 - Charles Aznavour - Je Me Voyais Deja.mp3¶" is toch een ¶ teveel. @AvD: """"" & Veldnaam & """"", pasten wordt i.t.t. via de knopjes aanklikken of manueel, WEL geaccepteerd en geeft terug in de calculatie: "\"\" & veld & \"\"" en dus niet "\"" & Veldnaam & "\"" het resultaat is nog steeds: "" & veldnaam & "" Quote
0 Arnoud Posted July 4, 2005 Author Posted July 4, 2005 @Rony: "" & Veldnaam & "" wordt geaccepteerd, uiteraard zonder quotes. Overigens zijn er ook vreemde dingen met die Quote functie. Gewoon tekst in vullen tussen de haakjes werkt goed. Maar: "C:/MediaBase/01 - Charles Aznavour - Je Me Voyais Deja.mp3¶" is toch een ¶ teveel. @AvD: """"" & Veldnaam & """"", pasten wordt i.t.t. via de knopjes aanklikken of manueel, WEL geaccepteerd en geeft terug in de calculatie: """ & veld & """ en dus niet """ & Veldnaam & """ het resultaat is nog steeds: "" & veldnaam & "" Wat is hier aan de hand? Quote
0 Arnoud Posted July 4, 2005 Author Posted July 4, 2005 Omdat ik bang was dat mijn ontwikkelfile alleen deze kuren had heb ik een nieuw bestandje gemaakt met enige calcs. De Quote functie werkt hier ook niet goed. Ik hoop nog steeds dat het allemaal aan mij ligt maar ik vrees het ergste... NASCHRIFT: Quote functie geeft ook pagebreaks aan, dus dat werkt gelukkig wel goed. Blijft de kwestie van de losse quotes... Textfuncties.zip Quote
0 Rony Rabijns Posted July 5, 2005 Posted July 5, 2005 Arnoud, de extra ¶ (in je download) via de Quote-functie is normaal want de ¶ steekt al in je referentieveld. Je veld calculatie uit je download moet worden : "\"" & veldnaam & "\"" Quote
0 Arnoud Posted July 5, 2005 Author Posted July 5, 2005 Het WERKT Rony, mag ik jou in het bijzonder en de overige posters hartelijk danken! Hierbij ook nog even de calculatie om vanuit een in een container geplaatste media file (referentie) een executeerbare code te maken voor Windows. Misschien kan het handiger maar ik heb nog nooit tekstfuncties nodig gehad, dus... "RunDLL32 shell32.dll,ShellExec_RunDLL cmd.exe /Q /C" & Replace( Quote( Replace (RightValues ( GetAsText ( MediaContainer ) ; 1 ) ; 1 ; 9 ; "" ) ) ; ( Length ( Quote(Replace (RightValues ( GetAsText ( MediaContainer ) ; 1 ) ; 1 ; 9 ; "" ) ) ) -1);1;"") // Deze calculatie in Send Event executen. vr.gr. Arnoud Quote
0 Gido_ Posted July 5, 2005 Posted July 5, 2005 Ziet er interessant uit Maar wat doet het nu precies? Hetzelfde als dubbelklikken op een containerveld of goto/select containerveld? Het moet iets anders zijn wellicht, maar ik ben weer niet helemaal mee Quote
0 Arnoud Posted July 5, 2005 Author Posted July 5, 2005 Ziet er interessant uit Maar wat doet het nu precies? Hetzelfde als dubbelklikken op een containerveld of goto/select containerveld? Het moet iets anders zijn wellicht, maar ik ben weer niet helemaal mee Eerlijk gezegd gisteren noodgedwongen crash course tekstfuncties gehad. De opbouw heb ik gewoon met een reeks calculatieveldjes gedaan, die ik later weer netjes in elkaar heb gesubstitueerd. Als je hier dagelijks mee bezig bent, dan schrijf je het zo uit denk ik, he Rony? Dan nu antwoord op jouw vraag: yep. Dit doet exact hetzelfde als dubbelklikken op het containerveld. GotoField (select) eveneens, en een stuk sneller zelfs. En je kan ook de (referentieinhoud) exporteren en die inhoud weer executen. Dit laatste betekent dat de bronfile middels het execute bestand wordt gekopieerd en daarna uitgevoerd. Geen fijne optie voor grote bestanden dus. Ik heb deze code gemaakt, aangezien ik toch bezig was om de Artiestnaam en Titel uit de filenaam te plukken dacht ik ga even door... Quote
Question
Arnoud
Voor mijn mediabase sla ik referenties van media files op.
De bedoeling is dat de Artiest en de Titel uit de string gehaald worden.
De Artiest en Titel zijn altijd gescheiden door een underscore.
Ik ben al zover: Artiestnaam_Titelnaam
Met welke 2 calculaties krijg ik dit voor elkaar?
gr.
Arnoud
20 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.