18. maj 2000 - 15:09Der er
31 kommentarer og 1 løsning
Et lille bitte program...
Er der nogen der kan lave et lille program, der udskifter et tegn med et andet. Ligsom når man bruger notepad 'søg - erstat'. Men jeg skal bruge et der forubestemt skift bestemtet tegn. Og kan se forskel på store og små tegn(det ved jeg ikke om kan lade sig gøre med de store tegn)
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
...det skifter alle b'er ud med f'er i strengen 'str'. Der er et par alerts, du kan lege med (de skal selvfølgelig slettes, når scriptet skal bruges). /Vh </bole>
Nu er jeg ikke så hård i Java... og kan ikke lige se hvordan det hænger sammen med det jeg skal bruge. Men jeg kan lige fortælle noget mere, og så hvis du vil forklare lidt mere om dit Java-script.
Jeg har en *.txt fil hvori der er en masse tegn der skal skiftets. Som feks. + skiftets ud med æ og ^ ud med p. En linie kunne se sådan ud: |eg g¨r en tur hen ad ve|en.
Som så skal se sådan ud bagefter: Jeg går en tur hen ad vejen.
Det er jeg heller ikke - men rimelig hård i JavaScript...det er to forskellige ting ;-) Dette her skulle være til at forstå:
<html> <head> <script language="javascript"> <!--
function skift(which) { // 'str' sættes lig formens textarea's værdi str = which.myText.value; // 'soeg' sættes lig formens første textfelt's værdi soeg = which.et.value; // 'erst' sættes lig formens andet textfelt's værdi erst = which.to.value; // Så længe 'str' indeholder 'soeg', gør vi følgende while (str.indexOf(soeg)!=-1) { // Vi laver en første del-streng 'astr' - hen til det søgte tegn (soeg) astr = str.substring(0,str.indexOf(soeg)); // Vi laver en anden del-streng 'bstr' - fra én plads efter 'soeg' til slutningen af 'str' bstr = str.substring(str.indexOf(soeg)+1,str.length); // Vi klistrer de to del-strenge sammen - med 'erst' imellem str = astr+erst+bstr; } // Når 'str' ikke længere indeholder 'soeg', sættes formens textarea's værdi lig med den nye streng which.myText.value = str; }
Du kan bare fjerne alle mine kommentarlinier, når du skal bruge det. At åbne en text-fil kræver, du gør det server-side i f.eks. php. I mit eksempel må du kopiere teksten ind - behandle den - og kopiere den tilbage igen. /Vh
Det må du da meget gerne...lyder det svært??? Jeg kan nemlig ikke få olebole's til at virke. Så kan jeg gi' dig de rigtige data senere på... altså hvilken tegn der skal udsiftets af hvad...
Her er en oversigt: = Å † = å = Ø › = ø ’ = Æ ‘ = æ = ü ‚ = é
Selvom nogle af tegnene ser ens ud, skulle de ikke være det. :o) Men jeg havde forstillet mig dette: At jeg har en txt fil, og når jeg køre det igennem dit program, ændre det alle tegnene, og laver så en fil med et nyt efternavn, feks JSH, eller noget i den stil. Men stadig en notepad fil.
"Jeg kan nemlig ikke få olebole's til at virke." Så må du da gøre noget HELT galt! Jeg har lige prøvet at kopiere fra svaret og pasted ind i et dokument og testet i både NS og IE...ingen fejl! Det burde der heller ikke være, da det er ganske standard kodning...?!?
Ja Ole min fejl... slettede for meget...grrrr Men Ole, du har bare lavet et ny udgave af notepad søg/erstat... men hvis du kan lave det sådan at man ungår copy/paste og tager hele filen, også dit JavaScript søger og erstater, og derefter laver en anden fil, med efternavnet måske *.ole som så virker i notepad. Hvis I begge vil lave en version får I selvfølgelig begge point.
Hvis du laver det a'la' det er det også godt nok... Hvis du sætter data'erne ind, så copy/paster jeg, trykker på en knap, dit JavaScript søger/erstater, så copy'er jeg det tilbage... Også kan muligheden med søg/erstat bare blive der HVIS nu at der senere hen kommer noget andet der skal ændres. Altså: Et tekst felt En knap der laver om på de forudindtastet data. Et 'søg' felt Et 'erstat med' felt En 'do it' knap
Altså det nye: en knap hvor der laves om med de forudindtastet data. Håber jeg er til at forstå...
Altså det script du lavede før var okay, men jeg vil gerne have en knap ind der kender til de forskellige tegn der skal skiftets = Å, † = å osv... altså idet man trykker på knappen laver den om i teksten, hvis du kan tilføje den i det script du har lavet vil det være helt fint... Jeg har et program der åbenbart ikke kender det danske tegnsæt
Beklager at jeg lovede for meget; men jeg har ganske uventet fået meget travlt - Så de næste 14 dage får jeg ikke tid til at lave det program, du søger, jimsim. Hvis du stadig er interesseret om 14 dage, og du ikke har løst problemet på anden vis, så kan jeg godt lave programmet.
De sidste tre tegn er 'æ', 'ø' og 'å'. De står som escapede oktal-værdier til deres ANSII coder, da de ikke hører til i det alm. tegnsæt. Du kan de næste par dage hente værdier til andre special-tegn her: http://www.webtile.dk/oktal/ Skynd dig, mens det er oppe ;-)
Jeg kan nok ikke komme længere uden at være på samme platform (jeg er på Mac) og have det program, du bakser med. Platformene tolker tegn og deres kode forskelligt Nogen tegn kan have 5-6 forskellige ANSII værdier - og det er ikke til at gætte sig til, hvilken er den rigtige - herfra, hvor jeg er! ;-)) Håber, du forstår...ellers en pudsig lille opgave! /Vh
hehe sjov lille ting :o) men jeg venter lige på at driis svare... men ole du skal nok får lidt for ulej'ligheden... Men jeg har fundet ud af at tegnene oversættets fint i dos... altså † bliver til å osv... men det kan være du allerede viste det. Men det kan være driis kan bruge det. ;o)
Private Sub Go_Click() Fil.ShowOpen F = Fil.filename
If Out.ListIndex = 0 Then WF = "Workfile.dat" If Out.ListIndex = 1 Then WF = Left$(F, Len(F) - 3) + Ext.Text If Out.ListIndex = 2 Then Fil.DialogTitle = "Gem ændret fil som..." Fil.ShowSave WF = Fil.filename Fil.DialogTitle = "Vælg fil at ændre..." End If
On Error GoTo FileErr Open F For Input As 1 Open WF For Output As 2 On Error GoTo 0
Do Line Input #1, L For I = 0 To 7 ReCheck: If Not InStr(L, Find(I)) = 0 Then P = InStr(L, Find(I)) L = Left$(L, P - 1) + Corr(I) + Right$(L, Len(L) - P) GoTo ReCheck End If Next I Print #2, L Loop Until EOF(1)
Close 1, 2
If WF = "Workfile.dat" Then FileCopy WF, F Kill WF WF = F End If
MsgBox "Redigeringen er gennemført" + Chr$(13) + Chr$(13) + "Ny fil er gemt som " + WF, vbInformation, "Succes!"
Exit Sub FileErr: On Error GoTo 0 MsgBox "Der er opstået en fejl med filen. Prøv igen med en anden fil.", vbExclamation, "Fejl..."
End Sub
Private Sub Out_Click() If Out.ListIndex = 1 Then Ext.Enabled = True Else Ext.Enabled = False End If End Sub
Det ser jo rigtigt godt ud :o) og det virker... JUBIII :) Mange tak for hjælpen... og det blev lavet i VB?? Også tak for hjælpen til Ole... du får også lidt point for ulejligheden :o).
Det er helt OK...det er tanken, der tæller - og så det, at du fik løst dit problem, selvfølgelig ;-)) /Vh
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.