Autor Thema: ANSI nach ASCII konvertieren  (Gelesen 4213 mal)

Offline sloe

  • Aktives Mitglied
  • ***
  • Beiträge: 175
  • Geschlecht: Männlich
  • Never stop a running admin...
ANSI nach ASCII konvertieren
« am: 19.07.05 - 13:06:43 »
Hallo Notesgemeinde,

ich habe folgendes Problem: ich bekomme eine tägliche ANSI-Datei für einen Notesimport ins File-System gestellt. Diese Datei soll nun automatisch eingelesen werden. Datei einlesen und Doks daraus erstellen ist kein Problem, aber wie bekomme ich die einzelnen Felddaten mit einer LN-Funktion ins ASCII-Format, damit Normalsterbliche was lesen können (jedesmal über Excel ist schon wegen der Datenmenge nicht angebracht)?

Schon jetzt vielen Dank.

Gruß
sloe

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: ANSI nach ASCII konvertieren
« Antwort #1 am: 19.07.05 - 13:14:34 »
ANSI == ASCII
AFAIK

Zitat
Obwohl die ANSI-Normen viele Bereiche abdecken, ist mit der alleinstehenden Abkürzung "ANSI" in der Computertechnik eine bestimmte Gruppe von Zeichensätzen basierend auf ASCII gemeint.
http://de.wikipedia.org/wiki/ANSI

Zitat
Als Akronym steht ASCII für "American Standard Code for Information Interchange" (dt.: Amerikanischer Standard-Code für den Informationsaustausch). ASCII wurde als ANSI-Standard X3.4 im Jahr 1968 eingeführt.
http://de.wikipedia.org/wiki/ASCII

Also Du möchtest was in was konvertieren?  ;)
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: ANSI nach ASCII konvertieren
« Antwort #2 am: 19.07.05 - 13:19:57 »
ich verwende dafür die 2 Funktionen.
Code
Function Ansi2Ascii(Byval oldString As String) As String
	If Len(oldString) = 0 Then
		Ansi2Ascii = ""
		Exit Function
	End If
	
	Dim Ascii_String As String
	Ascii_String = "ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø׃áíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■ "
	
	For i = 1 To Len(oldString)
		temp = Left(Right(oldString, i), 1)
		pos = Instr(1, Ascii_String, temp)
		If pos > 0 Then
			new_String = Chr(pos + 127) & new_String
		Else
			new_String = temp & new_String
		End If
	Next
	Ansi2Ascii = new_String
End Function
Code
Function Ascii2Ansi(Byval oldString As String) As String
	If Len(oldString) = 0 Then
		Ascii2Ansi = ""
		Exit Function
	End If
	
	Dim Mat(128 To 255) As String
	Dim new_String As String
	
	mat(128) = "Ç"
	mat(129) = "ü"
	mat(130) = "é"
	mat(131) = "â"
	mat(132) = "ä"
	mat(133) = "à"
	mat(134) = "å"
	mat(135) = "ç"
	mat(136) = "ê"
	mat(137) = "ë"
	mat(138) = "è"
	mat(139) = "ï"
	mat(140) = "î"
	mat(141) = "ì"
	mat(142) = "Ä"
	mat(143) = "Å"
	mat(144) = "É"
	mat(145) = "æ"
	mat(146) = "Æ"
	mat(147) = "ô"
	mat(148) = "ö"
	mat(149) = "ò"
	
	mat(150) = "û"
	mat(151) = "ù"
	mat(152) = "ÿ"
	mat(153) = "Ö"
	mat(154) = "Ü"
	mat(155) = "ø"
	mat(156) = "£"
	mat(157) = "Ø"
	mat(158) = "×"
	mat(159) = "ƒ"
	mat(160) = "á"
	mat(161) = "í"
	mat(162) = "ó"
	mat(163) = "ú"
	mat(164) = "ñ"
	mat(165) = "Ñ"
	mat(166) = "ª"
	mat(167) = "º"
	mat(168) = "¿"
	mat(169) = "®"
	mat(170) = "¬"
	mat(171) = "½"
	mat(172) = "¼"
	mat(173) = "¡"
	mat(174) = "«"
	mat(175) = "»"
	mat(176) = "░"
	mat(177) = "▒"
	mat(178) = "▓"
	mat(179) = "│"
	mat(180) = "┤"
	mat(181) = "Á"
	mat(182) = "Â"
	mat(183) = "À"
	mat(184) = "©"
	mat(185) = "╣"
	mat(186) = "║"
	mat(187) = "╗"
	mat(188) = "╝"
	mat(189) = "¢"
	mat(190) = "¥"
	mat(191) = "┐"
	mat(192) = "└"
	mat(193) = "┴"
	mat(194) = "┬"
	mat(195) = "├"
	mat(196) = "─"
	mat(197) = "┼"
	mat(198) = "ã"
	mat(199) = "Ã"
	
	mat(200) = "╚"
	mat(201) = "╔"
	mat(202) = "╩"
	mat(203) = "╦"
	mat(204) = "╠"
	mat(205) = "═"
	mat(206) = "╬"
	mat(207) = "¤"
	mat(208) = "ð"
	mat(209) = "Ð"
	mat(210) = "Ê"
	mat(211) = "Ë"
	mat(212) = "È"
	mat(213) = "ı"
	mat(214) = "Í"
	mat(215) = "Î"
	mat(216) = "Ï"
	mat(217) = "┘"
	mat(218) = "┌"
	mat(219) = "█"
	mat(220) = "▄"
	mat(221) = "¦"
	mat(222) = "Ì"
	mat(223) = "▀"
	mat(224) = "Ó"
	mat(225) = "ß"
	mat(226) = "Ô"
	mat(227) = "Ò"
	mat(228) = "õ"
	mat(229) = "Õ"
	mat(230) = "µ"
	mat(231) = "þ"
	mat(232) = "Þ"
	mat(233) = "Ú"
	mat(234) = "Û"
	mat(235) = "Ù"
	mat(236) = "ý"
	mat(237) = "Ý"
	mat(238) = "¯"
	mat(239) = "´"
	mat(240) = "­"
	mat(241) = "±"
	mat(242) = "‗"
	mat(243) = "¾"
	mat(244) = "¶"
	mat(245) = "§"
	mat(246) = "÷"
	mat(247) = "¸"
	mat(248) = "°"
	mat(249) = "¨"
	
	mat(250) = "·"
	mat(251) = "¹"
	mat(252) = "³"
	mat(253) = "²"
	mat(254) = "■"
	mat(255) = " "
	
	For i = 1 To Len(oldString)
		temp = Asc(Right(oldString,i))
		If temp > 127 Then
			new_String = mat(temp) & new_String
		Else
			new_String = Chr(temp) & new_String
		End If
	Next
	Ascii2Ansi = new_String
End Function
Gruß
Dirk

Offline sloe

  • Aktives Mitglied
  • ***
  • Beiträge: 175
  • Geschlecht: Männlich
  • Never stop a running admin...
Re: ANSI nach ASCII konvertieren
« Antwort #3 am: 19.07.05 - 13:25:40 »
@m3
ich möchte Zeichen wie z.B.

÷ ³ õ ¯

im normalen Format haben...

@diali

cool, genau was ich gesucht habe.
Jetzt muß ich nur noch herausfinden, warum einige Leerstellen mit ÿ ersetzt werden.
Gruß
sloe

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: ANSI nach ASCII konvertieren
« Antwort #4 am: 19.07.05 - 13:32:22 »
bei den Leerstellen handelt sich sich mit großer Wahrscheinlichkeit um Steuerzeichen. In den Scripten werden nur Zeichen größer 127 angefasst. Bei den  Zeichen 1 bis 31 handelt es sich um solche Steuerzeichen (TAB, LF, Del usw.)
Gruß
Dirk

Offline sloe

  • Aktives Mitglied
  • ***
  • Beiträge: 175
  • Geschlecht: Männlich
  • Never stop a running admin...
Re: ANSI nach ASCII konvertieren
« Antwort #5 am: 19.07.05 - 13:36:31 »
@diali

Hab das letzte Leerzeichen aus dem Ascii_String rausgenommen, läuft wunderbar.
Dickes Danke!
Gruß
sloe

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz