Avatar billede baltazar_ Nybegynder
19. februar 2003 - 22:00 Der er 10 kommentarer

path til filer med variabel problem ( dialog )

Jeg har en dialog hvori jeg skal hente folders navn ind i en funktion hvor mappen der passer til variablen åbnes og indhold listes i dropdown list.
Jeg har lavet følgende:


m_Simple.Dir( DDL_READWRITE,_T("\\waypointfiles\\&(LPCTSTR)m_filetitle&\\*.txt"));

Men den opfatter ikke  &(LPCTSTR)m_filetitle&\\  som en variabel...den skriver bare teksten som ud som om det skal åbne en mappe med navn  &(LPCTSTR)m_filetitle

hvorimod outputtet skulle have været således
\waypointfiles\filemappe\*.txt


nogle forslag til hvad jeg kan gøre elelr rettere...hvordan jeg kan indsætte ind variabel i en SetDlgText teksten
Avatar billede soreno Praktikant
19. februar 2003 - 22:04 #1
Du kan ikke sammensætte strenge på den måde.

Du kan gøre sådan:
#include <string.h>
[..]
char buffer[MAX_PATH];
strcpy(buffer, "\\waypointfiles\\");
strcat(buffer, m_filetitle);
strcat(buffer, "\\*.txt");
m_Simple.Dir(DDL_READWRITE, buffer);
Avatar billede soreno Praktikant
19. februar 2003 - 22:07 #2
du skal muligvis stadig typecaste "m_filetitle" (du gør ikke opmærksom på hvilken datatype det er).
Avatar billede arne_v Ekspert
19. februar 2003 - 22:08 #3
F.eks.:

#include <stdio.h>

char fspec[256];
sprintf(fspec,"\\waypointfiles\\%s\\*.txt",m_filetitle);
m_Simple.Dir(DDL_READWRITE, fspec);
Avatar billede soreno Praktikant
19. februar 2003 - 22:11 #4
arne >> hvad "står" fspec for (min fantasi kan ikke komme på noget relevant) ?
Avatar billede arne_v Ekspert
19. februar 2003 - 22:12 #5
Eller hvis du er til STL strings:

#include <string>

m_Simple.Dir( DDL_READWRITE,(string("\\waypointfiles\\") + m_filetitle + string("\\*.txt")).c_str());
Avatar billede arne_v Ekspert
19. februar 2003 - 22:13 #6
soreno>

fspec = file specification

Det var lige hvad jeg kunne finde på i farten.
Avatar billede tam Nybegynder
20. februar 2003 - 00:45 #7
Arne> Hvorfor bruger du ikke MAX_PATH i stedet for 256? ;)
Avatar billede arne_v Ekspert
20. februar 2003 - 07:42 #8
Det ville også have været pænere.
Avatar billede jpk Nybegynder
20. februar 2003 - 08:32 #9
Dir-funktionen på en CComboBox bruger current directory til at lede i, altså skal du gøre således:

::SetCurrentDirectory(_T("waypointfiles\\") + m_filetitle);
m_Simple.Dir(DDL_READWRITE, _T("*.txt"));
Avatar billede baltazar_ Nybegynder
20. februar 2003 - 12:50 #10
tak for alle de gode svar, Jeg vælger jpk`s svar da det er det der umiddlebart er det nemmeste for mig at overskue pt.
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
Kurser inden for grundlæggende programmering

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