OBS/Stammdaten/Artikel: Import Externe-Artikeltexte: Unterschied zwischen den Versionen

Aus OBS Wiki
Zur Navigation springen Zur Suche springen
K (Nimz verschob die Seite OBS/Stammdaten/Artikel: Automatischer Shop-Texte Import nach OBS/Stammdaten/Artikel: Import Externe-Artikeltexte: Bezeichnung etwas unglücklich, da allgemein externe Texte importiert werden können und nicht nur Texte f…)
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
{{Artikel F10}}<font size="2" color="#000000" face="Arial"> </font>
{{Artikel F10}}
=Maske=
[[Image:ImportArtikelExtText.png|thumb|Import-Maske]]<br/>
Die Maske kann in drei Bereiche unterteilt werden: Einstellungen (1), Dateiinhalt (2) und Makro (3). Die Einstellungen werden mit Standardwerten vorbelegt. Der Dateiinhalt wird erst angezeigt, nachdem eine xls-Datei für den Import ausgewählt wurde. Als Makro wird immer das zuletzt verwendete geladen. Wenn Sie verschiedene Dateien importieren ist es daher ratsam die verwendeten Makros in einer Datei abzuspeichern, um dies nicht jedesmal neu eingeben zu müssen. Sie können dann den Inhalt einfach ersetzen.<br />
==Einstellungen==
===Land===
Geben Sie hier ein Land für den Import vor. Mit der Makro-Funktion [[#ArtikelLand|''ArtikelLand'']] lässt sich die Vorgabe später übersteuern. Bei leerem Ergebnis wird jedoch der Wert dieses Feldes verwendet.
===Typ===
Geben Sie hier einen Text-Typ für den Import vor. Mit der Makro-Funktion [[#ArtikelTyp|''ArtikelTyp'']] lässt sich die Vorgabe später übersteuern. Bei leerem Ergebnis wird jedoch der Wert dieses Feldes verwendet.
===Start-Zeile===
Hier können Sie bestimmen, ab welcher Zeile die Daten übernommen werden sollen.{{Hinweis|Die Zählung der Zeilen beginnt hier bei 0. Die erste Zeile ist also nicht 1 sondern 0. Sollen die Daten ab Zeile 10 übernommen werden, so ist eine 9 einzugeben.}}
===Lieferanten-Nr===
Falls Sie Daten eines Lieferanten übernehmen, können Sie diesen hier angeben. Kann mit der Artikelnummer (siehe Makro-Funktion [[#ArtikelNummer|''ArtikelNummer'']]) kein Artikel im OBS-Artikelstamm gefunden werden, so wird die Artikelnummer als Bestellnummer interpretiert und die OBS-Artikelnummer über Liefernt und Bestellnummer ermittelt.
===Dateiname===
Mit {{Key|#}} ist in diesem Feld die Datei auszuwählen. Sie können Dateien in den Formaten xls und xlsx verwenden. Nach der Auswahl wird Ihnen der Inhalt in der Tabelle (2) angezeigt.
===Vorgang===
Wird in das Feld ''Nummer'' übernommen. Es sind alphanummerische Angaben möglich.
===Vorhandene Texte überschreiben===
Ist das Häkchen in diesem Feld gesetzt, so werden bereits gepflegte externe Texte (identisch mit Land, Typ und Artikelnummer) mit dem Inhalt der Datei aktualisiert. Andernfalls werden die bisherigen Texte beibehalten.
===Leere Texte in Datei überspringen===
Dieses Feld ist nur interessant, wenn ''[[#Vorhandene Texte überschreiben|Vorhandene Texte überschreiben]]'' aktiv ist. Je nachdem woher die Daten für den Import bezogen werden, kann es sein, dass im eigenen Datenbestand bereits Texte vorhanden sind, die Datei jedoch an der Stelle nichts enthält. Um die Texte im eigenen System nicht zu löschen, können Sie hier ein Häkchen setzen.
=Makro=
==Import-Funktionen==
===ArtikelNummer===
Diese Funktion dient dazu die Artikelnummer zu ermitteln. Bedenken Sie, dass das Ergebnis auch die Bestellnummer bei Ihrem Lieferanten sein kann.
===ArtikelEAN===
Diese Funktion dient dazu die EAN zu ermitteln. Die EAN wird als alternative für die Artikelnummer verwendet, um die OBS-Artikelnummer zu ermitteln.
===ArtikelName===
Die Rückgabe dieser Funktion beeinfluss die Bezeichnung des Bildes. Wenn die Rückgabe leer ist, so wird die Bezeichnung automatisch mit "Art-Nr.: " und der ermittelten Artikelnummer gefüllt.
===ArtikelText===
Mit dieser Funktion wird der Text ermittelt.
===ArtikelTyp===
In dieser Funktion kann die Vorgabe der Einstellung ''Typ'' übersteuert werden.
===ArtikelLand===
In dieser Funktion kann die Vorgabe der Einstellung ''Land'' übersteuert werden.
===ShopZuord===
Diese Funktion muss im Makro nicht vorkommen. Sie ist optional und dient der Angabe von Shop-Schnittstellen. Die Texte können somit direkt beim Import einer oder mehreren Shop-Schnittstellen zugeordnet werden. Die Nummern der Schnittstellen sind mit Komma getrennt anzugeben bzw. zurückzugeben.<br />
<br />
Beispiel:
function ShopZuord(oXLS:TObject;nRow:Intgeger) : String;
begin
    Result := '001,002';
end;
==Befehle==
Hier finden Sie einige nützliche Befehle/Funktionen, die Sie verwenden können, um das Makro so zu verändern, dass Sie das gewünschte ergebnis erzielen können. Dadurch dass Sie von der Datei selbst jedoch nur Zugriff auf den Dateinamen haben, sind die Möglichkeiten allerdings begrenzt.
{{Hinweis|Im Normalfall werden Sie nur Variablen des Typs [[https://de.wikipedia.org/wiki/Zeichenkette#Pascal|'''string''']] benötigen.}}
===ExtractFileName===
Verwendung: Dateinamen aus Dateipfad auslesen.
Parameter: string
Rückgabe: string
Beispiel:<br />
cDatei := 'c:\\Ordner\Datei.txt';
cDatei := ExtractFileName(cDatei);
Erklärung: Der String-Variable ''cDatei'' wird der Wert ''c:\\Ordner\Datei.txt'' zugewiesen. Mit ''ExtractFileName'' wird der Dateiname herausgesucht und zurückgegeben. Danach enthält ''cDatei'' nur noch den Wert ''Datei.txt''.
===StrTran===
Verwendung: Sucht einen Text innerhalb eines Textes und ersetzte diesen durch einen andren Text (Suchen und ersetzen).
Parameter: string, string, string
Rückgabe: string
Beispiel:<br />
cDatei := 'Datei.txt';
cName  := StrTran(cDatei ,'.txt',<nowiki>''</nowiki>);
Erklärung: Der String-Variable ''cDatei'' wird der Wert ''Datei.txt'' zugewiesen. Mit ''StrTran'' wird im Text der Variable ''cDatei'' nach ''.txt'' gesucht. Der gefundene Teil wird mit einer leeren Zeichenkette ersetzt. Danach enthält ''cDatei'' nur noch den Wert ''Datei''.


<div><center><font size="6">Shop-Texte Importieren</font></center></div><br />
===Length===
Mit dieser Funktion können Shop-Texte im XLS Format importiert werden.<br />
Verwendung: Ermittelt die Länge einer Zeichenkette.
Der Lieferant wird herangezogen wenn die Artikelnummer eine Bestellnummer in der Excel-Liste ist.<div><br />
Parameter: string
</div><div><font size="1" face="courier new">function ArtikelNummer(oXLS:TObject;nRow:Intgeger) : String;<div><font size="1" face="courier new">function ArtikelTyp(oXLS:TObject;nRow:Intgeger) : String;<div><font size="1" face="courier new">function ArtikelName(oXLS:TObject;nRow:Intgeger) : String;<div><font size="1" face="courier new">function ArtikelLand(oXLS:TObject;nRow:Intgeger) : String;<div><font size="1" face="courier new">function ArtikelText(oXLS:TObject;nRow:Intgeger) : String;<div><font size="1" face="courier new">function ArtikelEAN(oXLS:TObject;nRow:Intgeger) : String;<div><br />
Rückgabe: integer
</div>ArtikelEAN, ArtikelTyp, ArtikelLand sind Optionsfunktionen.<br />
Beispiel:<br />
Wenn ArtikelLand nicht vorhanden dann Land aus MaskeWenn ArtikelTyp  nicht vorhanden dann Typ aus Maske<br />
cDatei  := 'Datei';
Wenn der Lieferant angegeben ist und die Artikelnummer nicht vorhanden ist und keine Bestellnummer beim Artikel hinterlegt ist,dann versuchen die Artikelnummer über die Artikel-EAN zu ermitteln falls eine gültige EAN ur Verfügung steht.<br />
nLaenge := Length(cDatei);
Makro Standard setzt das Makro auf das vordefinierten OBS Standard-Makro zurück.<div><br />
Erklärung: Der String-Variable ''cDatei'' wird der Wert ''Datei'' zugewiesen. Mit ''Length'' wird die Länge ermittelt. Das Wort "Datei" hat 5 Buchstaben. ''nLaenge'' hat also den Wert ''5''.
</div><div>[[Image:FRMTEXTEIMPORT_1.jpg]]</div><div><br />
===LeftStr/RightStr===
</div><div><font face="courier new">//----------------------------------------------------<div><font face="courier new">//Beispiel für Textimport<div><font face="courier new">//----------------------------------------------------<div><font face="courier new"><br />
Verwendung: Gibt den linken/rechten Teil einer Zeichenketten zurück. Es werden dabei maximal soviele Zeichen zurückgegeben, wie im zweiten Parameter angegeben.
<div><font face="courier new">function ArtikelNummer(oXLS:TObject;nRow:Intgeger) : String;<div><font face="courier new">begin<div><font face="courier new">    Result := LeftStr(GetCell(oXLS,nRow,0),6);<div><font face="courier new">end;<div><font face="courier new"><br />
Parameter: string, integer
<div><font face="courier new">//----------------------------------------------------<div><font face="courier new"><br />
Rückgabe: string
<div><font face="courier new">function ArtikelTyp(oXLS:TObject;nRow:Intgeger) : String;<div><font face="courier new">begin<div><font face="courier new">    Result := '9101';<div><font face="courier new">end;<div><font face="courier new"><br />
Beispiel:<br />
<div><font face="courier new">//----------------------------------------------------<div><font face="courier new"><br />
cDatei := 'Datei';
<div><font face="courier new">function ArtikelName(oXLS:TObject;nRow:Intgeger) : String;<div><font face="courier new">begin<div><font face="courier new">    Result := GetCell(oXLS,nRow,2);<div><font face="courier new">end; <div><font face="courier new"><br />
cLeft  := LeftStr(cDatei,2);
<div><font face="courier new">//----------------------------------------------------<div><font face="courier new"> <div><font face="courier new">function ArtikelLand(oXLS:TObject;nRow:Intgeger) : String;<div><font face="courier new">begin<div><font face="courier new">    Result := 'D';<div><font face="courier new">end; <div><font face="courier new"><br />
cRight := RightStr(cDatei,2);
<div><font face="courier new">//----------------------------------------------------<div><font face="courier new"> <div><font face="courier new">function ArtikelText(oXLS:TObject;nRow:Intgeger) : String;<div><font face="courier new">begin<div><font face="courier new">    Result := GetCell(oXLS,nRow,3);<div><font face="courier new">end;<div><font face="courier new"><br />
Erklärung: Der String-Variable ''cDatei'' wird der Wert ''Datei'' zugewiesen. Mit ''LeftStr'' und ''RightStr'' werden jeweils die ersten zwei Zeichen von Links und Rechts zurückgegeben. ''cLeft'' enthält danach den Wert ''Da'' und ''cRight'' den Wert ''ei''.
<div><font face="courier new">//----------------------------------------------------<div><font face="courier new"><br />
{{Hinweis|Sollten mehr Zeichen ermittelt werden, als der ursprüngliche Wert Zeichen hat, so ist das Ergbenis gleich dem Ursprung. LeftStr(cDatei,8) hätte z. B. dazu geführt, dass cLeft ebenfalls ''Datei'' enthält.}}
<div><font face="courier new">function ArtikelEAN(oXLS:TObject;nRow:Intgeger) : String;<div><font face="courier new">begin<div><font face="courier new">    Result := GetCell(oXLS,nRow,1);<div><font face="courier new">end;<div><font face="courier new"><br />
 
<div><font face="courier new">//----------------------------------------------------<div><br />
===UpperCase/LowerCase===
</div>[[Category:html]]
Verwendung: Umwandeln einer Zeichenkette in Großbuchstaben/Kleinbuchstaben.
----
Parameter: string
[[Benutzer:Auto import|Auto import]] 15:21, 25. Aug. 2011 (CEST)
Rückgabe: string
Beispiel:<br />
cDatei := 'Datei';
cUpper := UpperCase(cDatei);
cLower := LowerCase(cDatei);
Erklärung: Der String-Variable ''cDatei'' wird der Wert ''Datei'' zugewiesen. Mit ''UpperCase'' und ''LowerCase'' wird die Zeichenkette umgewandelt. ''cUpper'' enthält danach den Wert ''DATEI'' und ''cLower'' den Wert ''datei''.
===Token===
Verwendung: Teilt eine Zeichenkette anhand eines Zeichens auf und gibt den engebenen Teil zurück.
Parameter: string, string, integer
Rückgabe: string
Beispiel:<br />
cDatei := 'Datei_Name_Mit_Unterstrichen.txt';
cTeil  := Token(cDatei,'_',2);
Erklärung: Der String-Variable ''cDatei'' wird der Wert ''Datei_Name_Mit_Unterstrichen.txt'' zugewiesen. Mit ''Token'' wird die Zeichenkette aufgeteilt. Als Teiler ist ein Unterstrich angeben. Dies führt im angegebenen Beispiel zu vier Teilen: ''Datei'', ''Name'', ''Mit'' und ''Unterstrichen.txt''. Es wird der zweite Teil gefordert. Die Variable ''cTeil'' enthält demnach den Wert ''Name''.
 
=Beispiel=
function ArtikelNummer(oXLS:TObject;nRow:Intgeger) : String;
begin
    Result := LeftStr(GetCell(oXLS,nRow,0),6);
end;
//-----------------------------------------------------------------------------
function ArtikelEAN(oXLS:TObject;nRow:Intgeger) : String;
begin
    Result := GetCell(oXLS,nRow,1);
end;
//-----------------------------------------------------------------------------
function ArtikelName(oXLS:TObject;nRow:Intgeger) : String;
begin
    Result := GetCell(oXLS,nRow,2);
end;
//-----------------------------------------------------------------------------
function ArtikelText(oXLS:TObject;nRow:Intgeger) : String;
begin
    Result := GetCell(oXLS,nRow,3);
end;
//-----------------------------------------------------------------------------
function ArtikelTyp(oXLS:TObject;nRow:Intgeger) : String;
begin
    Result := '9101';
end;
//-----------------------------------------------------------------------------
function ArtikelLand(oXLS:TObject;nRow:Intgeger) : String;
begin
    Result := 'D';
end;
//-----------------------------------------------------------------------------
function ShopZuord(oXLS:TObject;nRow:Intgeger) : String;
begin
    Result := '';
end;

Version vom 2. November 2017, 16:14 Uhr

Maske

Import-Maske


Die Maske kann in drei Bereiche unterteilt werden: Einstellungen (1), Dateiinhalt (2) und Makro (3). Die Einstellungen werden mit Standardwerten vorbelegt. Der Dateiinhalt wird erst angezeigt, nachdem eine xls-Datei für den Import ausgewählt wurde. Als Makro wird immer das zuletzt verwendete geladen. Wenn Sie verschiedene Dateien importieren ist es daher ratsam die verwendeten Makros in einer Datei abzuspeichern, um dies nicht jedesmal neu eingeben zu müssen. Sie können dann den Inhalt einfach ersetzen.

Einstellungen

Land

Geben Sie hier ein Land für den Import vor. Mit der Makro-Funktion ArtikelLand lässt sich die Vorgabe später übersteuern. Bei leerem Ergebnis wird jedoch der Wert dieses Feldes verwendet.

Typ

Geben Sie hier einen Text-Typ für den Import vor. Mit der Makro-Funktion ArtikelTyp lässt sich die Vorgabe später übersteuern. Bei leerem Ergebnis wird jedoch der Wert dieses Feldes verwendet.

Start-Zeile

Hier können Sie bestimmen, ab welcher Zeile die Daten übernommen werden sollen.

HINWEIS: Die Zählung der Zeilen beginnt hier bei 0. Die erste Zeile ist also nicht 1 sondern 0. Sollen die Daten ab Zeile 10 übernommen werden, so ist eine 9 einzugeben.

Lieferanten-Nr

Falls Sie Daten eines Lieferanten übernehmen, können Sie diesen hier angeben. Kann mit der Artikelnummer (siehe Makro-Funktion ArtikelNummer) kein Artikel im OBS-Artikelstamm gefunden werden, so wird die Artikelnummer als Bestellnummer interpretiert und die OBS-Artikelnummer über Liefernt und Bestellnummer ermittelt.

Dateiname

Mit # ist in diesem Feld die Datei auszuwählen. Sie können Dateien in den Formaten xls und xlsx verwenden. Nach der Auswahl wird Ihnen der Inhalt in der Tabelle (2) angezeigt.

Vorgang

Wird in das Feld Nummer übernommen. Es sind alphanummerische Angaben möglich.

Vorhandene Texte überschreiben

Ist das Häkchen in diesem Feld gesetzt, so werden bereits gepflegte externe Texte (identisch mit Land, Typ und Artikelnummer) mit dem Inhalt der Datei aktualisiert. Andernfalls werden die bisherigen Texte beibehalten.

Leere Texte in Datei überspringen

Dieses Feld ist nur interessant, wenn Vorhandene Texte überschreiben aktiv ist. Je nachdem woher die Daten für den Import bezogen werden, kann es sein, dass im eigenen Datenbestand bereits Texte vorhanden sind, die Datei jedoch an der Stelle nichts enthält. Um die Texte im eigenen System nicht zu löschen, können Sie hier ein Häkchen setzen.

Makro

Import-Funktionen

ArtikelNummer

Diese Funktion dient dazu die Artikelnummer zu ermitteln. Bedenken Sie, dass das Ergebnis auch die Bestellnummer bei Ihrem Lieferanten sein kann.

ArtikelEAN

Diese Funktion dient dazu die EAN zu ermitteln. Die EAN wird als alternative für die Artikelnummer verwendet, um die OBS-Artikelnummer zu ermitteln.

ArtikelName

Die Rückgabe dieser Funktion beeinfluss die Bezeichnung des Bildes. Wenn die Rückgabe leer ist, so wird die Bezeichnung automatisch mit "Art-Nr.: " und der ermittelten Artikelnummer gefüllt.

ArtikelText

Mit dieser Funktion wird der Text ermittelt.

ArtikelTyp

In dieser Funktion kann die Vorgabe der Einstellung Typ übersteuert werden.

ArtikelLand

In dieser Funktion kann die Vorgabe der Einstellung Land übersteuert werden.

ShopZuord

Diese Funktion muss im Makro nicht vorkommen. Sie ist optional und dient der Angabe von Shop-Schnittstellen. Die Texte können somit direkt beim Import einer oder mehreren Shop-Schnittstellen zugeordnet werden. Die Nummern der Schnittstellen sind mit Komma getrennt anzugeben bzw. zurückzugeben.

Beispiel:

function ShopZuord(oXLS:TObject;nRow:Intgeger) : String;
begin
    Result := '001,002';
end;

Befehle

Hier finden Sie einige nützliche Befehle/Funktionen, die Sie verwenden können, um das Makro so zu verändern, dass Sie das gewünschte ergebnis erzielen können. Dadurch dass Sie von der Datei selbst jedoch nur Zugriff auf den Dateinamen haben, sind die Möglichkeiten allerdings begrenzt.

HINWEIS: Im Normalfall werden Sie nur Variablen des Typs [string] benötigen.

ExtractFileName

Verwendung: Dateinamen aus Dateipfad auslesen. Parameter: string Rückgabe: string Beispiel:

cDatei := 'c:\\Ordner\Datei.txt';
cDatei := ExtractFileName(cDatei);

Erklärung: Der String-Variable cDatei wird der Wert c:\\Ordner\Datei.txt zugewiesen. Mit ExtractFileName wird der Dateiname herausgesucht und zurückgegeben. Danach enthält cDatei nur noch den Wert Datei.txt.

StrTran

Verwendung: Sucht einen Text innerhalb eines Textes und ersetzte diesen durch einen andren Text (Suchen und ersetzen). Parameter: string, string, string Rückgabe: string Beispiel:

cDatei := 'Datei.txt';
cName  := StrTran(cDatei ,'.txt','');

Erklärung: Der String-Variable cDatei wird der Wert Datei.txt zugewiesen. Mit StrTran wird im Text der Variable cDatei nach .txt gesucht. Der gefundene Teil wird mit einer leeren Zeichenkette ersetzt. Danach enthält cDatei nur noch den Wert Datei.

Length

Verwendung: Ermittelt die Länge einer Zeichenkette. Parameter: string Rückgabe: integer Beispiel:

cDatei  := 'Datei';
nLaenge := Length(cDatei);

Erklärung: Der String-Variable cDatei wird der Wert Datei zugewiesen. Mit Length wird die Länge ermittelt. Das Wort "Datei" hat 5 Buchstaben. nLaenge hat also den Wert 5.

LeftStr/RightStr

Verwendung: Gibt den linken/rechten Teil einer Zeichenketten zurück. Es werden dabei maximal soviele Zeichen zurückgegeben, wie im zweiten Parameter angegeben. Parameter: string, integer Rückgabe: string Beispiel:

cDatei := 'Datei';
cLeft  := LeftStr(cDatei,2);
cRight := RightStr(cDatei,2);

Erklärung: Der String-Variable cDatei wird der Wert Datei zugewiesen. Mit LeftStr und RightStr werden jeweils die ersten zwei Zeichen von Links und Rechts zurückgegeben. cLeft enthält danach den Wert Da und cRight den Wert ei.

HINWEIS: Sollten mehr Zeichen ermittelt werden, als der ursprüngliche Wert Zeichen hat, so ist das Ergbenis gleich dem Ursprung. LeftStr(cDatei,8) hätte z. B. dazu geführt, dass cLeft ebenfalls Datei enthält.

UpperCase/LowerCase

Verwendung: Umwandeln einer Zeichenkette in Großbuchstaben/Kleinbuchstaben. Parameter: string Rückgabe: string Beispiel:

cDatei := 'Datei';
cUpper := UpperCase(cDatei);
cLower := LowerCase(cDatei);

Erklärung: Der String-Variable cDatei wird der Wert Datei zugewiesen. Mit UpperCase und LowerCase wird die Zeichenkette umgewandelt. cUpper enthält danach den Wert DATEI und cLower den Wert datei.

Token

Verwendung: Teilt eine Zeichenkette anhand eines Zeichens auf und gibt den engebenen Teil zurück. Parameter: string, string, integer Rückgabe: string Beispiel:

cDatei := 'Datei_Name_Mit_Unterstrichen.txt';
cTeil  := Token(cDatei,'_',2);

Erklärung: Der String-Variable cDatei wird der Wert Datei_Name_Mit_Unterstrichen.txt zugewiesen. Mit Token wird die Zeichenkette aufgeteilt. Als Teiler ist ein Unterstrich angeben. Dies führt im angegebenen Beispiel zu vier Teilen: Datei, Name, Mit und Unterstrichen.txt. Es wird der zweite Teil gefordert. Die Variable cTeil enthält demnach den Wert Name.

Beispiel

function ArtikelNummer(oXLS:TObject;nRow:Intgeger) : String;
begin
    Result := LeftStr(GetCell(oXLS,nRow,0),6);
end;

//-----------------------------------------------------------------------------

function ArtikelEAN(oXLS:TObject;nRow:Intgeger) : String;
begin
    Result := GetCell(oXLS,nRow,1);
end;

//-----------------------------------------------------------------------------

function ArtikelName(oXLS:TObject;nRow:Intgeger) : String;
begin
    Result := GetCell(oXLS,nRow,2);
end;

//-----------------------------------------------------------------------------

function ArtikelText(oXLS:TObject;nRow:Intgeger) : String;
begin
    Result := GetCell(oXLS,nRow,3);
end;

//-----------------------------------------------------------------------------

function ArtikelTyp(oXLS:TObject;nRow:Intgeger) : String;
begin
    Result := '9101';
end;

//-----------------------------------------------------------------------------

function ArtikelLand(oXLS:TObject;nRow:Intgeger) : String;
begin
    Result := 'D';
end;

//-----------------------------------------------------------------------------

function ShopZuord(oXLS:TObject;nRow:Intgeger) : String;
begin
    Result := ;
end;