Toon posts:

[C#] Convert VB6 Format function

Pagina: 1
Acties:
  • 497 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hoi,

Ik ben bezig een VB6 programma aan het omzetten naar C#.net. In de vb6 code staat er een functie om een string in een bepaald formaat te gieten:
Format$(strValue, "hh:nn:ss")

Nu ben ik aan het zoeken naar een soortgelijke functie in C#.net, maar ik vind tot nu toe niet echt iets bruikbaars...

Any suggestions?

Alvast bedankt,

Thomas

  • whoami
  • Registratie: December 2000
  • Laatst online: 16:26
Het gaat om een datum die je in een bepaalde string format wilt gieten ?

https://fgheysels.github.io/


Verwijderd

Topicstarter
Ja het gaat om een functie die de veldjes van een recordset overloopt. Hij gaat eerst het type na van het veldje en dan gaat hij de value ervan in de juiste vorm gieten voor verdere verwerking. Dus hier is een voorbeeldstukje:

...
case ADODB.DataTypeEnum.adGUID:
strValue = "'" + strValue + "'";
break;
case ADODB.DataTypeEnum.adNumeric:
strValue = strValue.Replace(",",".");
break;
case ADODB.DataTypeEnum.adDBTime:
// To Convert:
// strValue = "'" & Format$(strValue, "hh:nn:ss") & "'"
Case ADODB.DataTypeEnum.adDate
// To Convert
// strValue = "'" & Format$(strValue, "ddmmyyyy") & "'"
Case ADODB.DataTypeEnum.adDBTimeStamp
// To Convert
// strValue = "'" & Format$(strValue, "yyyymmdd hh:nn:ss") & "'"
...

Thomas

[ Voor 38% gewijzigd door Verwijderd op 08-08-2005 15:15 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 16:26
Kijk eens in de MSDN naar de overloads die je hebt bij de ToString() method van het DateTime class

[ Voor 6% gewijzigd door whoami op 08-08-2005 15:28 ]

https://fgheysels.github.io/


Verwijderd

Topicstarter
Ok, bedankt ik heb het kunnen oplossen als volgt:

...
case ADODB.DataTypeEnum.adDBDate:
strValue = "'" + DateTime.Parse(strValue).ToString("ddmmyyyy") + "'";
break;
case ADODB.DataTypeEnum.adDBTime:
strValue = "'" + DateTime.Parse(strValue).ToString("hh:mm:ss") + "'";
break;
case ADODB.DataTypeEnum.adDBTimeStamp:
strValue = "'" + DateTime.Parse(strValue).ToString("yyyymmdd hh:mm:ss") + "'";
break;
...


Thomas

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Heb niet helemaal je post gelezen maar naast de ToString varianten van bepaalde types kan je ook gebruik maken van de String.Format() functie.

Deze biedt verschillende mogenlijkheden voor formatering van verschillende datatypes.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • Shezzie
  • Registratie: Januari 2005
  • Laatst online: 12-04 11:02

Shezzie

Lekker hoor!

C# heeft een aantal functies die je kunt gebruiken om zaken om te bouwen, afhankelijk van het beoogde doel. Je kunt bijvoorbeeld de ToString() gebruiken,

szExportLine = "00"; // Ketencode filiaal
szExportLine += rdr.GetInt16(0).ToString("D4"); // Filiaalnummer
szExportLine += rdr.GetInt16(1).ToString("D2"); // Kassanummer
szExportLine += rdr.GetDateTime(2).ToString("yyMMdd"); // Transactiedatum
szExportLine += rdr.GetDateTime(2).ToString("HHmm"); // Transactietijd
szExportLine += ((int)rdr.GetDouble(6)).ToString("D3"); // Aantal

of de Format() van de string-class,

szExportLine += string.Format("{0,-17}", rdr.GetString(7)); // articlenr

De Convert() functie is wat uitgebreider, maar kan heel wat door de overloads:

lLineSeq = Convert.ToInt64(str);
iLineCount = Convert.ToInt32(str);

Kortom: beetje spelen met sites als msdn.com, codeproject.com en wat googlen en er is altijd wel een methode
Pagina: 1