Problem z OpenFileDialog.net

Sprawy związane z interfejsem użytkownika - kontrolki, wskaźniki, wyświetlacze, wykresy oraz inne zagadnienia tego typu...
Awatar użytkownika
wino
Posty: 549
Rejestracja: 23 gru 2005 00:00
Wersja środowiska: Nie mam LabVIEW
Lokalizacja: Kraków

Problem z OpenFileDialog.net

Post autor: wino »

Postanowiłem pewnego dnia zrobić aplikację, która będzie zawierała okno dialogowe z wieloma paternami,
które będzie wyglądało tak(paterny są rozdzielone):
Obrazek
A nie tak(paterny są razem):
Obrazek
Labview niestety nie pozwala na zrobienie okna takiego jak to pierwsze..
Przeszukałem zasoby internetu i trafiłem na .NET'owy dialog i stronkę, która opisuje mniej wiecej jak się z tego korzysta. Wszystko fajnie, stworzyłem sobie dialog zawierał wiele paternów, ale mam z nim dwa problemy, w sumie 3: 1. jeśli wejdę w Mój komputer to nic mi się nie pojawia w oknie z plikami, a powinny sie pojawić dyski i takie tam inne. 2. Dialog nie jest typu modal no i pojawia mi pod oknem, które go wywołuje, wtedy musze go szukać i takie tam 3. No i przede wszystkim jak zmienię patern to nie działa za fajnie. Bo załóżmy, że mam w folderze pliki typu doc i txt. Mam ustawione, żeby były widoczne pliki txt, zmieniam filtr na doc. Znikają mi pliki txt, ale nie pojawiają się już pliki doc.
Miał ktoś z was doczynienia z takim dialogiem? Może ktoś zna inny sposób na rozwiązanie mojego problemy, czyli stworzenie dialogu do plików z wieloma paternami.
Ostatnio zmieniony 13 sty 2009 21:37 przez wino, łącznie zmieniany 3 razy.
Awatar użytkownika
skoziate
Administrator
Posty: 245
Rejestracja: 06 mar 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Warszawa
Kontakt:

Problem z OpenFileDialog.net

Post autor: skoziate »

Pomoc dotycząca File Dialog Express VI mówi To match multiple patterns, use a semicolon ( ; ) to separate the patterns. White space, such as blanks, tabs, and carriage returns, are taken literally. Avoid using white spaces unless they are part of the extension pattern. For example, if you use *.html;*.doc, the dialog box displays all files that end with .html and .doc. If you use *.html; *.doc, the dialog box displays only files that end with .html.
Pozdrawiam,
Sebastian
Awatar użytkownika
wino
Posty: 549
Rejestracja: 23 gru 2005 00:00
Wersja środowiska: Nie mam LabVIEW
Lokalizacja: Kraków

Re: Problem z OpenFileDialog.net

Post autor: wino »

Poprawiłem troche posta.
Awatar użytkownika
Nowszy
Posty: 504
Rejestracja: 30 maja 2008 08:33
Wersja środowiska: LabVIEW 2011
Lokalizacja: Katowice
Kontakt:

Re: Problem z OpenFileDialog.net

Post autor: Nowszy »

Witam,

w obecnej wersji LabView da się to zrobić tylko korzystając z Call Library Function. Przykład dostępny pod adresem:

http://zone.ni.com/devzone/cda/epd/p/id/4737
Pozdrawiam, Maciek Antonik
Edu4Industry
Awatar użytkownika
wino
Posty: 549
Rejestracja: 23 gru 2005 00:00
Wersja środowiska: Nie mam LabVIEW
Lokalizacja: Kraków

Re: Problem z OpenFileDialog.net

Post autor: wino »

dzięki,

poradziłem sobie w inny sposób... zrobiłem dll z funkcją, która korzysta z obiektu OpenFileDialog w dokładnie taki sam sposób jak korzystałem z tego obiektu w labview i wszystko działa.


Mam jeszcze do was pytanie. Czy udało się komuś użyc .NET'a w LabVIEW i on działał bez zastrzeżeń? Spotkałem się z głosami, że raczej to nie działa, przynajmniej ja próbowałem dwa razy i jakoś mi to nie bangla.
Awatar użytkownika
Nowszy
Posty: 504
Rejestracja: 30 maja 2008 08:33
Wersja środowiska: LabVIEW 2011
Lokalizacja: Katowice
Kontakt:

Re: Problem z OpenFileDialog.net

Post autor: Nowszy »

Witam

A co konkretnie ci nie działa? Podeślij jakiś przykład czy chociaż opis tego, co próbujesz osiągnąć. Poza tym jesteśmy już kompletnie poza tematem posta, może zacząć nowy wątek?

Pozdrawiam
Pozdrawiam, Maciek Antonik
Edu4Industry
Awatar użytkownika
wino
Posty: 549
Rejestracja: 23 gru 2005 00:00
Wersja środowiska: Nie mam LabVIEW
Lokalizacja: Kraków

Problem z OpenFileDialog.net

Post autor: wino »

Napisalem co nie działa w pierwszym poście , przykład jest na stronce którą podałem(here).

Błędne działanie zostało zreplikowane na 3 komputerach.
Ostatnio zmieniony 26 sty 2009 11:43 przez wino, łącznie zmieniany 3 razy.
Awatar użytkownika
Nowszy
Posty: 504
Rejestracja: 30 maja 2008 08:33
Wersja środowiska: LabVIEW 2011
Lokalizacja: Katowice
Kontakt:

Problem z OpenFileDialog.net

Post autor: Nowszy »

Witam
Odpowiem tutaj także na pytania z maila, "dla potomności" :D

Jeżeli chodzi o Open File Dialog, to faktycznie ten przykład w .NET zachowuje się w sposób opisany w pierwszym poście. Możesz mi podesłać ten przykład w C#? Popytam kolegów, którzy lepiej się znają na .NET, może coś wymyślą. Z tego co wiem, LabView powinno korzystać z klas .NET jak każdy inny język programowania. Tak więc nie powinno być wielu problemów "ogólnych", a bardziej konkretne w niektórych zastosowaniach. U mnie przykłady .NET dostarczone z LV działają bez problemów. Więc nie jest tak, że zawsze nie działa :D
A jeśli chodzi o sam dialog, to zawsze można używać tego przykładu, który zamieściłem, tam chyba działa wszystko zgodnie z oczekiwaniami?
Pozdrawiam, Maciek Antonik
Edu4Industry
Awatar użytkownika
wino
Posty: 549
Rejestracja: 23 gru 2005 00:00
Wersja środowiska: Nie mam LabVIEW
Lokalizacja: Kraków

Problem z OpenFileDialog.net

Post autor: wino »

Temu dialogowi, który zamieściłeś brakuje paru opcji, chyba nie ma możliwości ustawienie ścieżki startowej, czy czegoś tam... przykład zamieszczę jak go znajdę :)
Ostatnio zmieniony 26 sty 2009 13:46 przez wino, łącznie zmieniany 2 razy.
Awatar użytkownika
Nowszy
Posty: 504
Rejestracja: 30 maja 2008 08:33
Wersja środowiska: LabVIEW 2011
Lokalizacja: Katowice
Kontakt:

Problem z OpenFileDialog.net

Post autor: Nowszy »

No fakt, nie da się wybrać ścieżki początkowej. Ale dialog zapamiętuje poprzednią ścieżkę, więc nie jest chyba tak źle. Czekam na kod źródłowy C#. Próbowałeś zapisać tą funkcję do dll i uruchomić w LV?
Pozdrawiam, Maciek Antonik
Edu4Industry
Awatar użytkownika
wino
Posty: 549
Rejestracja: 23 gru 2005 00:00
Wersja środowiska: Nie mam LabVIEW
Lokalizacja: Kraków

Problem z OpenFileDialog.net

Post autor: wino »

mikos pisze:using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace DialogsLibrary
{
public class SaveDialog
{
public static string ShowSaveDialog(string title, string filter,
string filterIndex, string defaultName, string initDir)
{
SaveFileDialog dialog = new SaveFileDialog();

dialog.Title = title;
dialog.Filter = filter;
dialog.FilterIndex = System.Int32.Parse(filterIndex);
dialog.FileName = defaultName;
dialog.InitialDirectory = initDir;
string fileName = "Canceled";
if (dialog.ShowDialog() == DialogResult.OK)
fileName = dialog.FileName;
return fileName;
}
}
}
Nowszy pisze:Próbowałeś zapisać tą funkcję do dll i uruchomić w LV?
Zapisałem powyższą funkcję do dll'a, uruchomiłem w LabVIEW, działa...
Ostatnio zmieniony 27 sty 2009 16:11 przez wino, łącznie zmieniany 2 razy.
Awatar użytkownika
Nowszy
Posty: 504
Rejestracja: 30 maja 2008 08:33
Wersja środowiska: LabVIEW 2011
Lokalizacja: Katowice
Kontakt:

Re: Problem z OpenFileDialog.net

Post autor: Nowszy »

Witam

No faktycznie, dziwne jest to zachowanie. Kombinowałem z tą klasą w LV i nic nie wykombinowałem. Za parę dni może będę miał jakąś pełniejszą odpowiedź dotyczącą .NETa w LV, to zamieszcze. Tak czy inaczej rozumiem, że 'workaround' z własną biblioteką dll działa całkowicie zgodnie z zamierzeniami?
Pozdrawiam, Maciek Antonik
Edu4Industry
Awatar użytkownika
wino
Posty: 549
Rejestracja: 23 gru 2005 00:00
Wersja środowiska: Nie mam LabVIEW
Lokalizacja: Kraków

Re: Problem z OpenFileDialog.net

Post autor: wino »

Tak, ten hack działa.
Awatar użytkownika
mac_671
Posty: 26
Rejestracja: 14 sie 2007 00:00
Lokalizacja: Kraków

Re: Problem z OpenFileDialog.net

Post autor: mac_671 »

Hej przyklad rzeczywiscie nie dziala tak jak powinien mimio ze diagram jest zrobiony jest po Bozemu.

Uzywalem .NET framework 2.0.0.0

"Hack" dziala dlatego ze okno dialogowe tworzy bezposrednio silnik .NET.
W przypadku diagramu LV czasami nawala pomiedzy konstrucja obiektu a wywolaniem metody.
Dzieki za info o "work arroundzie"

Jest to BUG ktory przydalo by sie zglosic NI.

Okno dialogowe ladawalo na moim PC czasem pod warstwa okna VI'a co powodowalo zawieszenie sie programu.

mac_671
Ostatnio zmieniony 29 sty 2009 14:36 przez mac_671, łącznie zmieniany 1 raz.
Awatar użytkownika
Nowszy
Posty: 504
Rejestracja: 30 maja 2008 08:33
Wersja środowiska: LabVIEW 2011
Lokalizacja: Katowice
Kontakt:

Re: Problem z OpenFileDialog.net

Post autor: Nowszy »

Spoko - majonez, NI czuwa i problem został już wysłany "wyżej". Jak dostanę jakąś sensowną odpowiedź dam znać dla potomności.
Pozdrawiam, Maciek Antonik
Edu4Industry
ODPOWIEDZ