Avatar billede kac Nybegynder
10. marts 2006 - 11:39 Der er 16 kommentarer

indsætte en ny linie

FIELD
            FIELD_TYPE 8
            POS 6 66
            FORMAT 0
            FLAGS 1536
            LENGTH 60
            FIELD_XAL
            #"Betalingsbetingelse:  " +
            #Betaling[KodeIdx, OrdKartArkiv.Betaling].Tekst// +
            #//" dog senest " +
            #//Date2str(DebJournal.Forfald,123,2,2,2,2,4)}
            ENDFIELD_XAL
              STARTFORMAT

Jeg skal have indsat en ny linie under betalingsbetingelser, hvor der skal stå:
Bank: Danske Bank
Og en linie igen nedenunder
Kontonummer: 0000 - 0000000000
Og igen nedenunder
Efter forfaldsdato beregnes renter 2% pr. påbegyndt måned.

Er der en som kan hjælpe, da jeg er ved at være desperat:-)
På forhånd tak.
Avatar billede soreno Praktikant
10. marts 2006 - 12:06 #1
F.eks. sådan:

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace AppendLineToFile {
  class Program {
    static void Main(string[] args) {
      String lineToAppendAfter = "Betalingsbetingelse";
      String lineToAppend = "";
      lineToAppend += "Bank: Danske Bank\n";
      lineToAppend += "Kontonummer: 0000 - 0000000000\n";
      lineToAppend += "Efter forfaldsdato beregnes renter 2% pr. påbegyndt måned.\n";
      StringBuilder sb = new StringBuilder();

      try {
        using (StreamReader sr = new StreamReader("input.txt")) {
          String line;
          while ((line = sr.ReadLine()) != null) {
            sb.Append(line + "\n");
            if(line.Contains(lineToAppendAfter)) {
              sb.Append(lineToAppend);
            }
          }
        }
      } catch (Exception e) {
        Console.WriteLine(e.Message);
      }
      Console.WriteLine(sb.ToString());     
      Console.ReadKey();     
    }
  }
}

Output (hvor input.txt indeholder data fra dit eksempel):
FIELD
            FIELD_TYPE 8
            POS 6 66
            FORMAT 0
            FLAGS 1536
            LENGTH 60
            FIELD_XAL
            #"Betalingsbetingelse:  " +
Bank: Danske Bank
Kontonummer: 0000 - 0000000000
Efter forfaldsdato beregnes renter 2% pr. påbegyndt måned.
            #Betaling[KodeIdx, OrdKartArkiv.Betaling].Tekst// +
            #//" dog senest " +
            #//Date2str(DebJournal.Forfald,123,2,2,2,2,4)}
            ENDFIELD_XAL
              STARTFORMAT
Avatar billede kac Nybegynder
10. marts 2006 - 12:26 #2
soreno>Det har jeg prøvet men nu siger programmet når jeg skal overføre fakturaen at der er en fejl i using.
Det nederste kode skulle i et tekstdokument og det øverste ind i selve rep filen? Har jeg ret i det?
Avatar billede soreno Praktikant
10. marts 2006 - 12:28 #3
Bruger du version 1.1 af frameworket ?

Mit eksempel er skrevet til v2.

Jeg ved ikke om det så virker med v1.1, men prøv at fjerne denne linie:
using System.Collections.Generic;
Avatar billede kac Nybegynder
10. marts 2006 - 12:32 #4
soreno>Har prøvet at slette linien men får stadig en fejl..jeg prøver lige at opdatere til en v.2
Avatar billede soreno Praktikant
10. marts 2006 - 12:44 #5
Prøv evt. at kopiere din fejl herind.
Avatar billede arne_v Ekspert
10. marts 2006 - 13:40 #6
sb.Append(line + "\n");

skal maaske vaere

sb.Append(line + "\r\n");

eller

sb.Append(line + Environment.NewLine);
Avatar billede kac Nybegynder
10. marts 2006 - 13:41 #7
Fejl under import af report

Uventet tekst i import-filen:
using
Avatar billede kac Nybegynder
10. marts 2006 - 13:51 #8
arne v> Jeg har prøvet dine muligheder med den skriver den samme fejl:-(
Avatar billede kac Nybegynder
10. marts 2006 - 13:54 #9
den skriver også at:
Elementet:_$$$_1835009 findes ikke
Avatar billede soreno Praktikant
10. marts 2006 - 15:01 #10
Hvilket program er det der skriver "Elementet:_$$$_1835009 findes ikke" ??
Avatar billede kac Nybegynder
10. marts 2006 - 15:05 #11
concorde C5 version 3.0
Avatar billede kac Nybegynder
10. marts 2006 - 15:08 #12
jeg er ved at lave om i et faktura layout. den bruger en rep fil og en rqt fil. Jeg ved ikke om du er nød til at have filerne for at kunne se hvad der er galt. Det er nemlig rigtig meget jeg skal tage kopi af og sætte herind?
Avatar billede arne_v Ekspert
10. marts 2006 - 15:13 #13
min note var kun for at pointere at saa vidt jeg husker er \n i C# ikke et
platform specifikt linieskift men praecis en 0x0A
Avatar billede kac Nybegynder
10. marts 2006 - 15:20 #14
jeg har ikke en dyt forstand på koder, så derfor er jeg lidt på herrens mark*SS*
Avatar billede soreno Praktikant
10. marts 2006 - 15:43 #15
Jeg ved *intet* om concorde.

Men, virker det før du tilføjer de ekstra linier ?


Dette kunne godt tolkes som værende én linie:
            #"Betalingsbetingelse:  " +
            #Betaling[KodeIdx, OrdKartArkiv.Betaling].Tekst// +
            #//" dog senest " +
            #//Date2str(DebJournal.Forfald,123,2,2,2,2,4)}

Og så vil indsættelse efter "betalingsbetingelse" være:
            FIELD_XAL
            #"Betalingsbetingelse:  " +
            #Betaling[KodeIdx, OrdKartArkiv.Betaling].Tekst// +
            #//" dog senest " +
            #//Date2str(DebJournal.Forfald,123,2,2,2,2,4)}
Bank: Danske Bank
Kontonummer: 0000 - 0000000000
Efter forfaldsdato beregnes renter 2% pr. påbegyndt måned.
            ENDFIELD_XAL


Hvad tror du ?
Hvad betyder # symbolet i Concorde ?

I øvrigt er koden lavet så det passer til lige præcis det eksempel du har skrevet, det kunne godt være at det ikke er præcist nok til alle tilfælde ?
Avatar billede kac Nybegynder
28. februar 2007 - 09:01 #16
soreno> Det virkede ikke, men fandt selv ud af det efter at have siddet en hel nat:-(
Men tusind tak fordi du prøvede:-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester