Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Zasady

Szukam zespołu pasjonatów do projektu a potem realizacji programu non-profit

Idź do strony Poprzedni  1, 2, 3 ... 21, 22, 23 ... 25, 26, 27  Następny

 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Visual Studio: C#, VB, VC++, …
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
samolot



Dołączył: 26 Sty 2006
Posty: 8273
Skąd: Toruń

PostWysłany: Nie Lis 12, 2017 11:55 am      Temat postu: Odpowiedz z cytatem Pisownia

Ja stosuję zmienną o nazwie Zmiany , typu Boolean ustawioną startowo na True. Każdy kod istotnie zmieniający parametry programu, właściwości kontrolek itp. innych ustawień, które chcę, aby były zapisane w ustawieniach, zawsze występuje jedocześnie z kodem ustawiającym zmienną Zmiany = True. Nie jest to takie pracochłonne, jeśli się pomięta o tym od początku. Przydaję się nie tylko użytkownikowi, ale i programiście w trakcie pisania kodu, by nie musiał w trakcie jego testowania ciągle ustawiać wartości wielu zmiennych.
Ponieważ u mnie w VB.NET zamykanie okna programu wiąże się z wystąpieniem zdarzenia FormClosing, to w niej umieszczam taki kod:
Kod:
  Dim Tak As System.Windows.Forms.DialogResult = System.Windows.Forms.DialogResult.Yes
  Dim Nie As System.Windows.Forms.DialogResult = System.Windows.Forms.DialogResult.No

  If  Zmiany = True Then Odp = Zapytaj_o_Zapis()   'Jeśli były zmiany to zapytaj o ich zapis
  If Odp = Tak Then plcZapisz.PerformClick()       'Zapisuje ustawienia, ustawia flagę 'Zmiany' na false, dezaktywuje przycisk 'plcZapisz'

_________________
Nie zadawaj bezcelowych pytań / Windows 8.1 / Windows 10 / VB2008 / VB 2010 / VB 2012 / Pisz poprawnie
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email
Grzegorz123



Dołączył: 27 Cze 2017
Posty: 149

PostWysłany: Nie Lis 12, 2017 5:08 pm      Temat postu: Odpowiedz z cytatem Pisownia

Dziękuję. W takim razie trzymam się tej wersji. Poczytałem trochę w sieci i taka opcja jest chyba najczęściej polecana i stosowana.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
mrowek



Dołączył: 28 Maj 2005
Posty: 330
Skąd: pniewy wlkp

PostWysłany: Pon Lis 13, 2017 6:57 pm      Temat postu: Odpowiedz z cytatem Pisownia

macie gdzies zrodla projektu?
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Numer GG
Grzegorz123



Dołączył: 27 Cze 2017
Posty: 149

PostWysłany: Pon Lis 13, 2017 10:28 pm      Temat postu: Odpowiedz z cytatem Pisownia

mrowek napisał:
macie gdzies zrodla projektu?

Trudno by było nie mieć ;-) ale na tym etapie nie chciałbym ich upubliczniać (program jest niemal gotowy)
Jakie są Twoje oczekiwania/sugestie/propozycje ?
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
mrowek



Dołączył: 28 Maj 2005
Posty: 330
Skąd: pniewy wlkp

PostWysłany: Wto Lis 14, 2017 9:42 pm      Temat postu: Odpowiedz z cytatem Pisownia

tyle stron, przyjalem ze zamiast czytac temat przejrze kod
ale chyba to nie oss.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Numer GG
Grzegorz123



Dołączył: 27 Cze 2017
Posty: 149

PostWysłany: Czw Lis 16, 2017 4:15 pm      Temat postu: Odpowiedz z cytatem Pisownia

Jeśli chciałbyś pomóc, to potrzebny jest formularz do wczytania/zapisu pliku XML z możliwością modyfikacji opcji. Z lewej drzewko i po kliknięciu w element z prawej modyfikacja. Dodawanie/usuwanie <ColorItem>

Struktura:

<ColorPickerConfig>
<AvailableColors>
<ColorItem>
<Color>Black</Color>
<Name>Czarny</Name>
</ColorItem>
<ColorItem>
<Color>Red</Color>
<Name>Czerwony</Name>
</ColorItem>
...
</AvailableColors>

<StandardColors>
<ColorItem>
<Color>Red</Color>
<Name>Holotype</Name>
</ColorItem>
<ColorItem>
<Color>Gold</Color>
<Name>Paratype</Name>
</ColorItem>
...
</StandardColors>

<AdvancedColors>
<Button>
<IsVisible>Yes</IsVisible>
</Button>
</AdvancedColors>
</ColorPickerConfig>

Wybór kolorów z ColorPickera z WPF Extended Tools.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Grzegorz123



Dołączył: 27 Cze 2017
Posty: 149

PostWysłany: Sro Lis 29, 2017 8:26 pm      Temat postu: Odpowiedz z cytatem Pisownia

Chcę zrobić funkcję CheckXML(FileName), która wyszuka w podanym pliku XML określone znaczniki:
<FontName>jakaś nazwa</FontName>
<Image>Jakiś plik</Image>
Po pobraniu nazwy fontu sprawdzi czy jest zainstalowany w systemie a po pobraniu nazwy pliku sprawdzi czy znajduje się na dysku w odpowiednim katalogu.
Realizacja samego kodu nie jest skomplikowana, natomiast chciałbym wszystkie nieistniejące fonty i pliki zebrać w jednym komunikacie i wyświetlić użytkownikowi. W plikach szablonów może tego być kilka ale przy sprawdzaniu paczki etykiet może być większa ilość. Problem jest taki: jak pokazać to użytkownikowi ?
Brakujące fonty zastępuję Arialem a brakujące pliki graficzne plikiem empty.bmp

Zastanawiałem się czy w takich sytuacjach, kiedy jest coś nie tak, dać komunikat, co czym zastępuję i podać ilość zastąpień ale nie dam wtedy użytkownikowi żadnej informacji czego brakuje. Gdyby wiedział jakich fontów brakuje to może je doinstalować a brakujące pliki wkopiować.

Jak byście to zrobili ?
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Grzegorz123



Dołączył: 27 Cze 2017
Posty: 149

PostWysłany: Wto Gru 05, 2017 11:00 am      Temat postu: Odpowiedz z cytatem Pisownia

Potrzebuję zrobić funkcję, która wygeneruje nową nazwę pliku na podstawie zawartości folderu \Data
Chodzi o to, że mam tam zapisane różne pliki o dowolnych nazwach i w momencie naciśnięcia przycisku
New trzeba utworzyć nową, nieistniejącą w folderze nazwę z określonego "body". Np. LabelSet1, LabelSet2
itd. W momencie tworzenia funkcja ma sprawdzić czy dany plik jest w folderze, generować kolejny
i sprawdzać do skutku aż będzie unikalny.

np.
funkcje CreateNewFileName(Body, Extension)

Body="LabelSet", Extension="eld"

w folderze ..\Data są pliki:
LabelSet1.eld, LabelSet2.eld, LabelSet3.eld

ma zwrócić LabelSet4 (bez rozszerzenia).

Może jest jakiś ogólny gotowiec, żebym nie odkrywał ameryki albo koła ;-) ?
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Grzegorz123



Dołączył: 27 Cze 2017
Posty: 149

PostWysłany: Wto Gru 05, 2017 12:35 pm      Temat postu: Odpowiedz z cytatem Pisownia

Znalazłem chyba dobry punkt wyjścia do przeróbek - może komuś się przyda:
Kod:
private string getNextFileName(string fileName)
{
    string extension = Path.GetExtension(fileName);

    int i = 0;
    while (File.Exists(fileName))
    {
        if (i == 0)
            fileName = fileName.Replace(extension, "(" + ++i + ")" + extension);
        else
            fileName = fileName.Replace("(" + i + ")" + extension, "(" + ++i + ")" + extension);
    }

    return fileName;
}
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
samolot



Dołączył: 26 Sty 2006
Posty: 8273
Skąd: Toruń

PostWysłany: Wto Gru 05, 2017 9:00 pm      Temat postu: Odpowiedz z cytatem Pisownia

Cytat:
...mam tam zapisane różne pliki o dowolnych nazwach

Ponieważ system operacyjny dopuszcza dowolne nazwy plików (oczywiście w ramach jego własnych ograniczeń, co do "zakazanych znaków" i co do długości nazwy), to wystarczy porównać nowo tworzoną nazwę z listą nazw plików w danym katalogu, i jeśli nie znajdziesz takiej samej, jak nowa to mógłbyś jej użyć.

Inną sprawą jest sposób tworzenia pliku przez system. Można do zapisu użyć opcji systemowej, która wymusza nie nadpisywanie pliku, jeśli na dysku już istnieje plik o takiej nazwie. Wówczas przy próbie zapisu system operacyjny sam wyświetli ostrzeżenie, że plik już istnieje.

Trzeci aspekt tej sprawy jest taki, że zewnętrzna nazwa pliku nie determinuje jego treści. Tak więc twój program i tak sam zapewne sprawdza, czy to jest "plik z ustawieniami etykiety"

_________________
Nie zadawaj bezcelowych pytań / Windows 8.1 / Windows 10 / VB2008 / VB 2010 / VB 2012 / Pisz poprawnie
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Visual Studio: C#, VB, VC++, … Wszystkie czasy w strefie CET (Europa)
Idź do strony Poprzedni  1, 2, 3 ... 21, 22, 23 ... 25, 26, 27  Następny
Strona 22 z 27

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Możesz dodawać załączniki na tym forum
Możesz pobierać pliki z tego forum




Debug: strone wygenerowano w 0.13271 sekund, zapytan = 11
contact

| Darmowe programy i porady Jelcyna | Tansze zakupy w Helionie | MS Office Blog |