Βασικά HEX Χρώματα

Δημοσιεύθηκε στη Css | Σχολιάστε

Total User Count WordPress using Shortcode

To function παρακάτω δημιουργεί shortcode

// Function to return user count
function tcp_user_count() { 
$usercount = count_users();
$result = $usercount['total_users']; 
return $result; 
} 
// Creating a shortcode to display user count
add_shortcode('tuser_count', 'tcp_user_count');

Για page/post χρησιμοποιούμε το shortcode [tuser_count]. Για να το βάλουμε στην php echo do_shortcode(‘[tuser_count]’);

Δημοσιεύθηκε στη Wordpress | Σχολιάστε

Εξαγωγή των άρθρων με βάση την κατηγορία

SELECT DISTINCT
post_title
, concat('https://www.thewebsite.gr/',post_name)
,(SELECT group_concat(wp_terms.name separator ', ') 
    FROM wp_terms
    INNER JOIN wp_term_taxonomy on wp_terms.term_id = wp_term_taxonomy.term_id
    INNER JOIN wp_term_relationships wpr on wpr.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id
    WHERE taxonomy= 'category' and wp_posts.ID = wpr.object_id
) AS "Categories"
FROM wp_posts
WHERE post_type = 'post' 
AND post_status = 'publish' 
ORDER BY
id DESC
Δημοσιεύθηκε στη Wordpress | Σχολιάστε

Μετατροπή όλων των πινάκων σε InnoDB από MyISAM

Το InnoDB είναι πιο γρήγορο για το wordpress. Εκτός αυτού είναι λιγότερο πιθανό να κρασάρουν πίνακες.

SET @DATABASE_NAME = 'name_of_your_db';

SELECT  CONCAT('ALTER TABLE `', table_name, '` ENGINE=InnoDB;') AS sql_statements
FROM    information_schema.tables AS tb
WHERE   table_schema = @DATABASE_NAME
AND     `ENGINE` = 'MyISAM'
AND     `TABLE_TYPE` = 'BASE TABLE'
ORDER BY table_name DESC;

Για stored procedure:

DROP PROCEDURE IF EXISTS convertToInnodb;
DELIMITER //
CREATE PROCEDURE convertToInnodb()
BEGIN
mainloop: LOOP
  SELECT TABLE_NAME INTO @convertTable FROM information_schema.TABLES
  WHERE `TABLE_SCHEMA` LIKE DATABASE()
  AND `ENGINE` LIKE 'MyISAM' ORDER BY TABLE_NAME LIMIT 1;
  IF @convertTable IS NULL THEN 
    LEAVE mainloop;
  END IF;
  SET @sqltext := CONCAT('ALTER TABLE `', DATABASE(), '`.`', @convertTable, '` ENGINE = INNODB');
  PREPARE convertTables FROM @sqltext;
  EXECUTE convertTables;
  DEALLOCATE PREPARE convertTables;
  SET @convertTable = NULL;
END LOOP mainloop;

END//
DELIMITER ;

CALL convertToInnodb();
DROP PROCEDURE IF EXISTS convertToInnodb;
Δημοσιεύθηκε στη SQL | Σχολιάστε

Ημερομηνία και ώρα ανανέωσης Δεδομένων

1. New Blank Query.
2. Advanced Editor

let
Source = #table(type table[Date Last Refreshed=datetime], {{DateTime.LocalNow()}})
in
Source
Δημοσιεύθηκε στη Power BI | Σχολιάστε

Αποθήκευση των tabs σε διαφορετικό path με Macro

Οι καρτέλες αποθηκεύονται ως αυτοτελή excel. Οι τιμές των κελιών τους αποθηκεύονται ως values.

 

Option Explicit

Public Sub MISCSV()

Dim wbkExport As Workbook
Dim shtToExport As Worksheet

Set shtToExport = ThisWorkbook.Worksheets("mis")
Set wbkExport = Application.Workbooks.Add
shtToExport.Copy Before:=wbkExport.Worksheets(wbkExport.Worksheets.Count)
Application.DisplayAlerts = False
Worksheets("mis").Cells.Copy
Worksheets("mis").Cells.PasteSpecial xlPasteValues
wbkExport.SaveAs Filename:="C:\MIS\mis.xlsx"
Application.DisplayAlerts = True
wbkExport.Close SaveChanges:=False

Set shtToExport = ThisWorkbook.Worksheets("PORTFOLIO STATISTICS")
Set wbkExport = Application.Workbooks.Add
shtToExport.Copy Before:=wbkExport.Worksheets(wbkExport.Worksheets.Count)
Application.DisplayAlerts = False
Worksheets("Portfolio Statistics").Cells.Copy
Worksheets("Portfolio Statistics").Cells.PasteSpecial xlPasteValues
wbkExport.SaveAs Filename:="C:\mis\PORTFOLIO STATISTICS.xlsx"
Application.DisplayAlerts = True
wbkExport.Close SaveChanges:=False

Set shtToExport = ThisWorkbook.Worksheets("DAILY REVAL")
Set wbkExport = Application.Workbooks.Add
shtToExport.Copy Before:=wbkExport.Worksheets(wbkExport.Worksheets.Count)
Application.DisplayAlerts = False
Worksheets("daily reval").Cells.Copy
Worksheets("daily reval").Cells.PasteSpecial xlPasteValues
wbkExport.SaveAs Filename:="C:\mis\DAILY REVAL.xlsx"
Application.DisplayAlerts = True
wbkExport.Close SaveChanges:=False

Set shtToExport = ThisWorkbook.Worksheets("PORTFOLIO BENCHMARK")
Set wbkExport = Application.Workbooks.Add
shtToExport.Copy Before:=wbkExport.Worksheets(wbkExport.Worksheets.Count)
Application.DisplayAlerts = False
Worksheets("PORTFOLIO BENCHMARK").Cells.Copy
Worksheets("PORTFOLIO BENCHMARK").Cells.PasteSpecial xlPasteValues
wbkExport.SaveAs Filename:="C:\mis\PORTFOLIO BENCHMARK.xlsx"
Application.DisplayAlerts = True
wbkExport.Close SaveChanges:=False

Set shtToExport = ThisWorkbook.Worksheets("SYNOLA")
Set wbkExport = Application.Workbooks.Add
shtToExport.Copy Before:=wbkExport.Worksheets(wbkExport.Worksheets.Count)
Application.DisplayAlerts = False
Worksheets("SYNOLA").Cells.Copy
Worksheets("SYNOLA").Cells.PasteSpecial xlPasteValues
wbkExport.SaveAs Filename:="C:\mis\SYNOLA.xlsx"
Application.DisplayAlerts = True
wbkExport.Close SaveChanges:=False


MsgBox "ALL DONE"
End Sub
Δημοσιεύθηκε στη Microsoft Excel | Σχολιάστε

Force Recalculation τα Quotas του σκληρού

/scripts/initquotas
Δημοσιεύθηκε στη Linux | Σχολιάστε

Αποθήκευση σε διαφορετικό path με Macro

Sub SaveReportMIS()
ActiveWorkbook.SaveCopyAs "Z:\BondsTest\BondsReport.xls"
ActiveWorkbook.Save
MsgBox "Saved"
End Sub
Δημοσιεύθηκε στη Microsoft Excel | Σχολιάστε

Date Dimension Power bi

Dates = 

VAR CurrentDate = TODAY()
RETURN

ADDCOLUMNS (
CALENDAR( DATE( 1900; 1; 1); DATE( 2022; 12; 31 ) );

"Year"; YEAR([Date]);

"Month in Year"; MONTH([Date]);

"Month"; FORMAT([Date];"mmm");

"Quarter in Year"; QUARTER([Date]);

"Quarter"; CONCATENATE("Q"; QUARTER([Date]) );

"Month & Year Sort"; FORMAT( [Date]; "yyyymm" );

"Month & Year"; FORMAT([Date];"MMM yyyy");

"Month Offset"; DATEDIFF( CurrentDate; [Date]; MONTH );

"Date Offset"; DATEDIFF( CurrentDate; [Date]; DAY )

)


Max Selected Date (in context) = 

MAXX(

KEEPFILTERS(

VALUES( Dates[Date] )

);

CALCULATE(

MIN( Dates[Date] )

)

)


Min Selected Date (in context) = 

MINX(

KEEPFILTERS(

VALUES( Dates[Date] )

);

CALCULATE(

MIN( Dates[Date] )

)

)



BankCountNewCustomers = 
//COUNTROWS(FILTER(Customers, Customers[DateRegistered].[Year] >= [NewRegisteredMeasure])) + 0
var MINDATE = [Min Selected Date (in context)]
VAR MAXDATE  = [Max Selected Date (in context)]
var datasetd = CALCULATETABLE(
values(Customers[gid]); Customers[DateRegistered] >= MINDATE && Customers[DateRegistered] <= MAXDATE) 
return 
CALCULATE([BankCountAllCustomers]; datasetd)
Δημοσιεύθηκε στη Power BI | Σχολιάστε

Selected από φίλτρο Power BI

CALCULATE(
    MIN(TransactionsEBanking[Ημερομηνία]);
    ALLSELECTED(TransactionsEBanking[Ημερομηνία])
    )

Change Date End = 
Var _endDate= Maxx(ALLSELECTED('Date'[Date Filer]),ENDOFMONTH('Date'[Date Filer]))
Var   _start_date= minx(ALLSELECTED('Date'[Date Filer]),'Date'[Date Filer]))


return
_endDate & " " & _start_date
Δημοσιεύθηκε στη Power BI | Σχολιάστε

Δημιουργία πίνακα on the fly για πιο εύκολο φιλτράρισμα αποτελεσμάτων.

Δημιουργία πίνακα on the fly για πιο εύκολο φιλτράρισμα αποτελεσμάτων.

AllPresence = SELECTCOLUMNS(Presence; "name";Presence[member_name];"presabs";Presence[presence])
Δημοσιεύθηκε στη Power BI | Σχολιάστε

Υπολογισμός χρόνου σε DAX

--  DATEDIFF computes the delta between two dates, using different units of measure
--  YEAFRAC returns the delta as a fraction (in years) 
EVALUATE
VAR StartDate =  DATE ( 2011, 01, 01 )
VAR EndDate =    DATE ( 2012, 12, 15 )
RETURN
    {
        ( "DATEDIFF Year",     DATEDIFF ( StartDate, EndDate, YEAR ) ),
        ( "DATEDIFF Quarter",  DATEDIFF ( StartDate, EndDate, QUARTER ) ),
        ( "DATEDIFF Month",    DATEDIFF ( StartDate, EndDate, MONTH ) ),
        ( "DATEDIFF Day",      DATEDIFF ( StartDate, EndDate, DAY ) ),
        ( "Subtraction",       INT ( EndDate - StartDate ) ),
        ( "YEARFRAC",          YEARFRAC ( StartDate, EndDate ) )
    }

MeetingTimeMinsHours = 
VAR _all = SUMX( Committees_Meetings; Committees_Meetings[time_end] - Committees_Meetings[time_start] ) * 1
VAR _days  = INT( _all ) 
VAR _time = _all - _days 
RETURN  FORMAT( _time; "hh:mm")

Δημοσιεύθηκε στη Power BI | Σχολιάστε

Διόρθωση Flickering se Windows Forms με διάφανες εικόνες και background

Protected Overloads Overrides ReadOnly Property CreateParams() As CreateParams
        Get
            Dim cp As CreateParams = MyBase.CreateParams
            cp.ExStyle = cp.ExStyle Or 33554432
            Return cp
        End Get
    End Property
    Private Sub PreVentFlicker()
        With Me
            .SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
            .SetStyle(ControlStyles.UserPaint, True)
            .SetStyle(ControlStyles.AllPaintingInWmPaint, True)
            .UpdateStyles()
        End With

    End Sub
Δημοσιεύθηκε στη .net | Σχολιάστε

Μικρά χρήσιμα script


//Αλλάζει κείμενο σε div
$('.cart-items').text(response);
//Επιστρέφει κείμενο στο success
toastr.success('<?php echo site_phrase('added_to_the_cart'); ?>');
//Κλείνει το modal			
jQuery('#large-modal').modal("toggle");
//Κάνει update συγκεκριμένο div
$('#cartinstoreright').load(location.href+" #cartinstoreright>*","");;
Δημοσιεύθηκε στη jQuery | Σχολιάστε

If statement php σε μια γραμμή

<?php echo $row['status'] == 1 ? "checked" : ""; ?>
Δημοσιεύθηκε στη PHP | Σχολιάστε

Repair XFS Filesystem error

xfs_repair /dev/md0
fsck /dev/md1




Check the file system and the re-install the bootloader
Request the rescue-system and then a hardware-reset. Connect to the rescue system.

Possible to mount the RAID?

# mount /dev/md1 /mnt

Yes. Do a file system check (first umount the file system):

# ummount /mnt
# fsck /dev/md1;

Shows some (many) errors. Fixed them by staying on the "y" key. Could use the auto repair option of fsck (-y).
Re-Install the bootloader
This is a Hetzner installimage-setup, so there should be a grub bootloader. Check for the /boot/grub/ folder. Again mount the RAID.

# mount /dev/md1 /mnt
# ls /mnt/boot/grub

It is there, so there is a good chance, that the bootloader is grub, not lilo. Now re-install grub on the disk. Actually on both disks, just in case one is missing.

Make a chroot environment:

# mount /dev/md1 /mnt
# mount -t none -o bind /dev /mnt/dev
# mount -t proc -o bind /proc /mnt/proc
# mount -t sysfs -o bind /sys /mnt/sys
# chroot /mnt

Grub:

# grub

Look for the file stage1 to find the boot partitions

grub> find /grub/stage1
 (hd0,1)
 (hd1,1)

Install the bootloader on both partitions. Both are regarded as hd0 from the point of view of the bootloader at boot time.

grub> device (hd0) /dev/sda
 device (hd0) /dev/sda
grub> root (hd0,1)
 root (hd0,1)
  Filesystem type is ext2fs, partition type 0xfd
grub> setup (hd0)
 setup (hd0)
  Checking if "/boot/grub/stage1" exists... yes
  Checking if "/boot/grub/stage2" exists... yes
  Checking if "/boot/grub/e2fs_stage1_5" exists... yes
  Running "embed /boot/grub/e2fs_stage1_5 (hd0)"...  17 sectors are embedded.
 succeeded
  Running "install /boot/grub/stage1 (hd0) (hd0)1+17 p (hd0,1)...
 succeeded
 Done.

The same for the other disk

grub> device (hd0) /dev/sdb
grub> root (hd1,1)
grub> setup (hd0)
grub> quit

And reboot - works.
Δημοσιεύθηκε στη Linux | Σχολιάστε

Regular expression για e-mail validation

^ Για να δηλώσουμε την αρχή του string
([a-zA-Z0-9_\-\.]) – Το πρώτο block επιτρέπει όλα τα γράμματα, όλα τα νούμερα, την κάτω παύλα, την παύλα και την τελεία.
@ – Για να κάνει validate το @
([a-zA-Z0-9_\-\.]) – Το πρώτο block επιτρέπει όλα τα γράμματα, όλα τα νούμερα, την κάτω παύλα, την παύλα και την τελεία.
([a-zA-Z) – Το πρώτο block επιτρέπει όλα τα γράμματα.
$ – Για να δηλώσουμε το τέλος του string.

^([a-zA-Z0-9_\-\.])+@+([a-zA-Z0-9_\-\.])+([a-zA-Z])$

Γίνονται validate e-mail της μορφής:

mail@domain.com
mail_d@domain.com
mail.dd@domain.com
mail@sub.domain.com
mail@domain-dot.com

και όλοι οι συνδυασμοί αυτών

Δημοσιεύθηκε στη PHP | Σχολιάστε

Πως προσθέτουμε τα μεταφορικά στο product.tpl στο Prestashop

Controllers/font/ProductController.php

Προσθέτουμε αυτό. Όπου 172 το id του carrier. Το id αλλάζει κάθε φορά που γίνεται επεξεργασία κάποιο στοιχείο του.

//tcp
$default_carrier = new Carrier(172);
$carrier_zones = $default_carrier->getZones();
if (isset($carrier_zones) && !empty($carrier_zones)) {
    $first_carrier_zone = $carrier_zones[0][1];
    $delivery_price = $default_carrier->getDeliveryPriceByWeight($this->product->weight, 1);
    $delivery_priceog = $default_carrier->getDeliveryPriceByWeight($this->product->depth, 1);
	if ($delivery_priceog > $delivery_price) {$delivery_price = $delivery_priceog;}
}
else 
{
    $delivery_price = 'not found';
}
//tcp

Στο product.tpl προσθέτουμε το παρακάτω για να πάρουμε τα μεταφορικά

{$delivery_price}
Δημοσιεύθηκε στη Prestashop | Σχολιάστε

Δημιουργία συντόμευσης εικονιδίου για την Επιφάνεια Εργασίας στα Windows 10

Βάζουμε προορισμό:

%windir%\explorer.exe shell:::{3080F90D-D7AD-11D9-BD98-0000947B0257}

Εικονίδιο:

%SystemRoot%\System32\imageres.dll
Δημοσιεύθηκε στη Tips | Σχολιάστε

Πως κρατάμε αρχείο Mysql bin για όχι περισσότερο από 3 μέρες

Τα αρχεία logs (bins) της mysql πιάνουν πολύ χώρο. Είναι σχεδόν ολόκληρο το μέγεθος της βάσης για κάθε μέρα που κρατιούνται. Καλό είναι να υπάρχει ένα όριο ημερών για να μην γίνεται waste of resources.

[mysqld]
expire_logs_days=3
Δημοσιεύθηκε στη SQL | Σχολιάστε

Πως αλλάζω background σε κλειδωμένο υπολογιστή εταιρείας

Σε command promt πατάμαε το παρακάτω path.

%AppData%\Microsoft\Windows\Themes\

Αντικαθιστούμε τα αρχεία με την εικόνα που θέλουμε. Κάνουμε log off.

Δημοσιεύθηκε στη Tips | Σχολιάστε

SELECT αυτά που δεν υπάρχουν σε συσχετισμένο table

Βρίσκουμε αυτά που δεν κάνουν match

SELECT DISTINCT tags_to_news.tag_id, tags.name FROM `tags_to_news` LEFT OUTER JOIN tags ON tags.id = tags_to_news.tag_id WHERE tags.name IS NULL
Δημοσιεύθηκε στη SQL | Σχολιάστε

Εισαγωγή γραμμής με identity μέσω κώδικα.

Μια από τις κλασικές χαζομάρες της Microsoft. Για να γίνει εισαγωγή id μέσω εντολής πρέπει να είναι κλειστό το ID PROTECTION. Πρέπει πρώτα να απενεργοποιηθεί, να οριστεί η στήλη στην εισαγωγή και έπειτα να ενεργοποιηθεί ξανά.

SET IDENTITY_INSERT NewCustomers ON;
INSERT INTO NewCustomers (id, datec, NewCustomerCount, NewUserCount, CustomerCategory) VALUES ('22','2018-10-13', '6367','0','2');
SET IDENTITY_INSERT NewCustomers OFF;
Δημοσιεύθηκε στη SQL | Σχολιάστε

Πως αντιγράφουμε μόνο το κεντρικό κελί από group σε excel

Πολλές φορές πρέπει να αντιγράψουμε μόνο τις κεφαλίδες από grouped κελιά από το excel σε άλλο φύλλο. Για να το κάνουμε αυτό πρέπει να επιλέξουμε την περιοχή που θέλουμε και μετά πατάμε το Find and Select που φαίνεται στην εικόνα.

Έπειτα επιλέγουμε Go to Special και στο παράθυρο που βγαίνει επιλέγουμε Visible cells only όπως φαίνεται και στο παρακάτω screenshot.

Δημοσιεύθηκε στη Microsoft Excel | Σχολιάστε

Πως σπάμε ένα μεγάλο αρχείο Excel με πολλές γραμμές σε πολλά αρχεία

Περνάμε στις μακροεντολές VB και την τρέχουμε.

Sub DigiSpot()
  Dim wb As Workbook
  Dim ThisSheet As Worksheet
  Dim NumOfColumns As Integer
  Dim RangeToCopy As Range
  Dim WorkbookCounter As Integer
  Dim RowsInFile
  Dim Prefix As String

  Application.ScreenUpdating = False

  'Initialize data
  Set ThisSheet = ThisWorkbook.ActiveSheet
  NumOfColumns = ThisSheet.UsedRange.Columns.Count
  WorkbookCounter = 1
  RowsInFile = 100                   'Κάθε πόσες γραμμές θέλουμε να σπάσει το excel
  Prefix = "DigiSpot"                    'Όνομα αρχείου

  For p = 1 To ThisSheet.UsedRange.Rows.Count Step RowsInFile
    Set wb = Workbooks.Add

    Set RangeToCopy = ThisSheet.Range(ThisSheet.Cells(p, 1), ThisSheet.Cells(p + RowsInFile - 1, NumOfColumns))
    RangeToCopy.Copy wb.Sheets(1).Range("A1")

    wb.SaveAs ThisWorkbook.Path & "\" & Prefix & "_" & WorkbookCounter
    wb.Close

    WorkbookCounter = WorkbookCounter + 1
  Next p

  Application.ScreenUpdating = True
  Set wb = Nothing
End Sub
Δημοσιεύθηκε στη Microsoft Excel | Σχολιάστε

SQL Server Σύνθετο Query από SELECT

--Πίνακας Στατιστικών σε περίοδο χρόνου με βάση τον Κωδικό Συναλλαγής. Επιστρέφει: Κωδικό Συναλλαγής, Περιγραφή Συναλλαγής, Πλήθος Συναλλαγών και Αξία Συναλλαγών
SELECT  b.transactionType_code AS 'ΚΩΔΙΚΟΣ ΣΥΝΑΛΛΑΓΗΣ', b.transactionType_name AS 'ΠΕΡΙΓΡΑΦΗ ΣΥΝΑΛΛΑΓΗΣ', 
CASE
    WHEN T.plithos IS NULL THEN 0
    ELSE T.plithos
END AS 'ΠΛΗΘΟΣ', 
CASE
    WHEN T.axia IS NULL THEN 0
    ELSE T.axia
END AS 'ΑΞΙΑ', 
CASE
    WHEN T.prom IS NULL THEN 0
    ELSE T.prom
END AS 'ΠΡΟΜΗΘΕΙΑ', 
CASE
    WHEN T.custtype IS NULL THEN '-'
    ELSE T.custtype
END AS 'ΤΥΠΟΣ ΠΕΛΑΤΗ',
CASE
    WHEN T.chan IS NULL THEN '-'
    ELSE T.chan
END AS 'ΚΑΝΑΛΙ' 
FROM TransactionTypes b LEFT JOIN
(SELECT SUM(a.counted_transactions) AS plithos, 
SUM(a.total_ammount) AS axia, SUM(total_charges) AS prom, c.customerType_name AS custtype, d.channel_name AS chan, a.transactionType_id
FROM Transactions a
LEFT JOIN CustomerTypes c ON a.customerType_id = c.customerType_id
LEFT JOIN Channels d on a.channel_id = d.channel_id
WHERE a.transaction_date BETWEEN '2019-07-01' AND '2019-07-31'
AND a.customerType_id = 2 AND a.channel_id = 2
GROUP BY c.customerType_name, d.channel_name, a.transactionType_id

) AS T
ON b.transactionType_id = T.transactionType_id
Δημοσιεύθηκε στη SQL | Σχολιάστε

Βασικές λειτουργίες του Excel

Από εκεί και πέρα

=RIGHT(R25430;LEN(R25430)-FIND("|FIRSTNAME=";R25430))

Από εκεί και πριν

=LEFT(BH25419;FIND("|";BH25419)-1)

Match σε σχέση με μια στήλη. (Εάν Βρεις το Α12 στο Φύλλο TEO από την στήλη Β έως την στήλη ΑΑ τότε φέρε μου την 26η στήλη. Βολεύει σε search forms.)

=VLOOKUP(A12;TEO!B12:AA30010;26;FALSE)

Αναζήτηση με FIND ή SEARCH

=IF(FIND("DT_OOB";M9);"SMS";"")

Πρόσθεση μόνο εάν ισχύει συνθήκη σε στήλη. (Εάν η στήλη F είναι “Retail” τότε βγάλε το SUM της D)

=SUMIF(F:F;"RETAIL";D:D)

Αφαίρεση των Enter από τα κελιά

=SUBSTITUTE(A1,CHAR(10),", ")
Δημοσιεύθηκε στη Microsoft Excel | Σχολιάστε

Εργαλείο δημιουργίας schematic για Βάση δεδομένων

Εάν δεν είστε προγραμματιστής αγνοείστε αυτό το άρθρο. Εξαιρετικό εργαλείο για την δημιουργία σχήματος βάσης δεδομένων.

  • Μπορείς να δημιουργήσεις κώδικα και να βγει η απεικόνιση.
  • Μπορείς να κάνεις import από Mysql ή PostGre
  • Μπορείς να κάνεις export για Mysql ή PostGre
  • Μπορείς να δημιουργήσεις λογαριασμό και να αποθηκεύσεις όλα σου τα schematic.

dbdiagram.io

Δημοσιεύθηκε στη SQL | Σχολιάστε

Ταξινόμηση με βάση την τελευταία ενημέρωση άρθρου

Τοποθετήστε το παρακάτω function στο functions.php του θέματός σας. Η ταξινόμηση των άρθρων θα γίνει σε όλα τα archives. Αρχική, κατηγορία, tag και search.

add_action( 'pre_get_posts', 'orderTcpUpdate' );
function orderTcpUpdate( $query ) 
{
	$query->set('orderby','modified');
}
Δημοσιεύθηκε στη Wordpress | Σχολιάστε

Άνοιγμα φόρμας μέσα σε Panel με VB.NET

Εύκολα μετατρέπεται σε C#. Δημιουργήστε ένα module ώστε να μπορείτε να χρησιμοποιήσετε σε ανεξάρτητες φόρμες. Εγώ συνήθως την εφαρμόζω σε MenuStrip μενού.

Public Sub OpenInPanel(ByVal DaNewForm As Object)
        Main.PanelContent.Controls.Clear()
        Dim fh As Form = TryCast(DaNewForm, Form)
        fh.TopLevel = False
        fh.Dock = DockStyle.Fill
        Main.PanelContent.Controls.Add(fh)
        Main.PanelContent.Tag = fh
        fh.Show()
    End Sub

Όπου Main η κεντρική σας φόρμα και όπου PanelContent το Panel που θέλετε να φορτώσετε την φόρμα. Αφού δημιουργήσετε τo function (που είναι public προφανώς και όχι private) μπορείτε να την χρησιμοποιήσετε ως εξής:

OpenInPanel(Search)

Όπου Search η φόρμα που θέλετε να φορτώστε μέσα στο Panel.

Δημοσιεύθηκε στη .net | Σχολιάστε